【发布时间】:2018-08-10 05:30:14
【问题描述】:
我有一个具有回收站视图的应用程序。我想给用户一个在夜间和白天模式主题之间切换的机会。我知道如何更改文本颜色和背景颜色,但在这种情况下我不能。实际上我无法从 MainActivity 中找到项目布局变量。如何从 MainActivity 创建 ViewHolder 类的对象?谁能帮帮我?
这是我的适配器类:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{
private List<ListItemModel> listItems;
private Context context;
public MyAdapter(List<ListItemModel> listItems, Context context) {
this.listItems = listItems;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_model, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final ListItemModel listItem = listItems.get(position);
holder.index_number.setText(listItem.getIndexNumber());
holder.title_name.setText(listItem.getTitle());
}
@Override
public int getItemCount() {
return listItems.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView index_number, title_name;
public ViewHolder(View itemView) {
super(itemView);
index_number = (TextView) itemView.findViewById(R.id.model_text_index_id);
title_name = (TextView) itemView.findViewById(R.id.model_text_title_id);
}
}
}
【问题讨论】:
-
在数据集中使用变量 text_color 和 card_bg_color 来定义用户选择的颜色的状态。根据用户选择更新这些值时通知回收站视图
-
你想改变颜色 onclick 或别的什么?
-
创建静态方法并从您的 mainActivity 访问
-
other 先检查当前在 setAdater 或 Init Adapter 之前选择了哪种模式,并在 BindViewHolder 检查条件下根据需要应用
-
嘿@Ashvin 兄弟,我尝试了很多,但每次都失败了。如果你能提供一个演示,我将非常感激你。
标签: android android-recyclerview android-cardview android-text-color