package app.fedilab.android.imageeditor.tools; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; import java.util.List; import app.fedilab.android.R; /** * @author Burhanuddin Rashid * @version 0.1.2 * @since 5/23/2018 */ public class EditingToolsAdapter extends RecyclerView.Adapter { private List mToolList = new ArrayList<>(); private OnItemSelected mOnItemSelected; public EditingToolsAdapter(OnItemSelected onItemSelected) { mOnItemSelected = onItemSelected; mToolList.add(new ToolModel("Brush", R.drawable.ic_brush_edit, ToolType.BRUSH)); mToolList.add(new ToolModel("Text", R.drawable.ic_text, ToolType.TEXT)); // mToolList.add(new ToolModel("Eraser", R.drawable.ic_eraser, ToolType.ERASER)); mToolList.add(new ToolModel("Filter", R.drawable.ic_photo_filter, ToolType.FILTER)); mToolList.add(new ToolModel("Crop", R.drawable.ic_crop, ToolType.CROP)); mToolList.add(new ToolModel("Emoji", R.drawable.ic_insert_emoticon_media, ToolType.EMOJI)); mToolList.add(new ToolModel("Sticker", R.drawable.ic_sticker, ToolType.STICKER)); } public interface OnItemSelected { void onToolSelected(ToolType toolType); } class ToolModel { private String mToolName; private int mToolIcon; private ToolType mToolType; ToolModel(String toolName, int toolIcon, ToolType toolType) { mToolName = toolName; mToolIcon = toolIcon; mToolType = toolType; } } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.row_editing_tools, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { ToolModel item = mToolList.get(position); holder.txtTool.setText(item.mToolName); holder.imgToolIcon.setImageResource(item.mToolIcon); } @Override public int getItemCount() { return mToolList.size(); } class ViewHolder extends RecyclerView.ViewHolder { ImageView imgToolIcon; TextView txtTool; ViewHolder(View itemView) { super(itemView); imgToolIcon = itemView.findViewById(R.id.imgToolIcon); txtTool = itemView.findViewById(R.id.txtTool); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mOnItemSelected.onToolSelected(mToolList.get(getLayoutPosition()).mToolType); } }); } } }