在RecyclerView中更改可绘制视图的背景色,而不更改其正文可以通过以下步骤实现:
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView textViewContent;
public MyViewHolder(View itemView) {
super(itemView);
textViewContent = itemView.findViewById(R.id.textView_content);
}
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
// 获取当前列表项对应的数据
String data = dataList.get(position);
// 设置正文视图的文本
holder.textViewContent.setText(data);
// 设置背景色
if (position % 2 == 0) {
holder.itemView.setBackgroundColor(ContextCompat.getColor(context, R.color.even_color));
} else {
holder.itemView.setBackgroundColor(ContextCompat.getColor(context, R.color.odd_color));
}
}
在上述代码中,使用了ContextCompat类来获取颜色值,这是为了兼容不同版本的Android系统。
另外,为了在RecyclerView的适配器中获取上下文(Context),可以在适配器的构造函数中传入Context对象,并将其存储在成员变量中。
以上就是在RecyclerView中更改可绘制视图背景色的方法。
推荐的腾讯云相关产品:腾讯云移动应用托管服务。该服务提供了一整套移动应用构建、部署、托管的解决方案,可以帮助开发者快速构建移动应用,并提供了丰富的功能,如负载均衡、弹性伸缩、自动扩缩容等,以满足应用在不同规模下的需求。
产品介绍链接地址:https://cloud.tencent.com/product/ame
领取专属 10元无门槛券
手把手带您无忧上云