java - Textview 值必须使用 if 语句更改 itemView 背景颜色

标签 java android android-recyclerview background

可能是非常简单的解决方案,但我就是想不通。我希望我的 recyclerView 的 itemView 的背景颜色根据我在 Arraylist 中设置的 textView 的值而改变。

        public void onBindViewHolder(final MyViewTwoHolder holder, int position) {
    holder.tvBrand.setText((CharSequence) modelTwoArrayList.get(position).getBrand());
    holder.tvImage.setImageResource(Integer.parseInt(String.valueOf(modelTwoArrayList.get(position).getImage())));
    holder.tvUnits.setText(String.valueOf(modelTwoArrayList.get(position).getNumberCases()));
    holder.tvPosisie.setText(String.valueOf(modelTwoArrayList.get(position).getPosisie()));
    if(tvPosisie == 6) {
        holder.itemView.setBackgroundColor(Color.RED);
    }
     else if(tvPosisie == 7) {
        holder.itemView.setBackgroundColor(Color.YELLOW);
    } else if (tvPosisie == 4) {
        holder.itemView.setBackgroundColor(Color.BLUE);
    } else holder.itemView.setBackgroundColor(Color.WHITE);
}

没有任何反应。该应用程序不会崩溃,但背景颜色保持白色。谢谢你的时间。

最佳答案

您应该将部分代码更改为以下内容:

if ("6".equals(holder.tvPosisie.getText().toString())) {
    holder.itemView.setBackgroundColor(Color.RED);
} else if("7".equals(holder.tvPosisie.getText().toString())) {
    holder.itemView.setBackgroundColor(Color.YELLOW);
} else if ("4".equals(holder.tvPosisie.getText().toString())) {
    holder.itemView.setBackgroundColor(Color.BLUE);
} else { 
    holder.itemView.setBackgroundColor(Color.WHITE);
}

关于java - Textview 值必须使用 if 语句更改 itemView 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50937437/

相关文章:

android - 控制具有不确定项目的 ViewGroup 之间的焦点顺序

java - RecyclerView 单项 ID

java - 获取strings.xml中的所有字符串

安卓蓝牙设备定位器

android - 有没有办法使用 Android Asset Studio 批量转换 svg 文件?

Android:5 秒后显示对话框

java - 找不到媒体类型 = application/json 的 MessageBodyReader - android

java - 如何模拟环境接口(interface)

Java回文程序无法运行

java - RecyclerView 只在 List 中添加一项,而不是添加所有条目