【发布时间】:2016-03-03 08:33:57
【问题描述】:
这是适配器!
public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.CategoryAdapterObjectHolder> {
private static String LOG_TAG = "CategoryAdapter";
private List<Category> mCategory;
private static MyClickListener myClickListener;
public static class CategoryAdapterObjectHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView mTextTitle;
public CategoryAdapterObjectHolder(View itemView) {
super(itemView);
mTextTitle = (TextView) itemView.findViewById(R.id.text_menu);
DebugTool.logD(LOG_TAG + "Adding Listener");
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
myClickListener.onItemClick(getPosition(), v);
}
}
public void setOnItemClickListener(MyClickListener myClickListener) {
this.myClickListener = myClickListener;
}
public CategoryAdapter(List<Category> myHistoryData) {
mCategory = myHistoryData;
}
@Override
public CategoryAdapter.CategoryAdapterObjectHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_menu, parent, false);
CategoryAdapterObjectHolder dataObjectHolder = new CategoryAdapterObjectHolder(view);
return dataObjectHolder;
}
@Override
public void onBindViewHolder(CategoryAdapter.CategoryAdapterObjectHolder holder, int position) {
holder.mTextTitle.setText(mCategory.get(position).getName());
}
public void addItem(Category dataObj, int index) {
mCategory.add(dataObj);
notifyItemInserted(index);
}
public void deleteItem(int index) {
mCategory.remove(index);
notifyItemRemoved(index);
}
@Override
public int getItemCount() {
return mCategory.size();
}
public interface MyClickListener {
public void onItemClick(int position, View v);
}
}
这是 OnItemClick
@Override
public void onResume() {
super.onResume();
((CategoryAdapter) adapter).setOnItemClickListener(
new CategoryAdapter.MyClickListener() {
@Override
public void onItemClick(int position, View v) {
TextView mTextItem = (TextView) v.findViewById(R.id.text_menu);
// mTextItem.setTextColor(getResources().getColor(R.color.color_text_white));
if (position == 0) {
Utils.showToast(getContext(), "POSITION 0");
} else if (position == 1) {
Utils.showToast(getContext(), "POSITION 1");
} else if (position == 2) {
Utils.showToast(getContext(), "POSITION 2");
} else if (position == 3) {
Utils.showToast(getContext(), "POSITION 3");
}
}
});
}
我的商品是白色的。
我想要什么时候:
我点击位置 == 0。
位置 == 0 的文本颜色项变为深色。和位置不同的颜色为白色。
我点击位置 == 1:
位置 == 1 的文本颜色项更改为深色。并定位不同的背色白色。
我点击位置 == 2:
位置 == 2 的文本颜色更改为深色并将不同的背景颜色设置为白色。
我点击位置 == 3:
位置 == 3 的文本颜色更改为深色,并将不同的背景颜色设置为白色。
请。帮帮我!
【问题讨论】: