Android - 设置微调器中特定项目的文本颜色

Android - Setting the text colour of specific items in a spinner

我有一个微调器,其中填充了一个拼图名称列表。其中一些拼图名称已被下载,一些还没有。如果已下载,我想将这些项目的文本颜色更改为绿色,如果未下载则更改为红色。目前所有名字都是黑色的。

有谁知道如何更改特定项目。

谢谢

为您的微调器使用自定义适配器,并根据您下载的值将 selector 添加到 TextView 的 textColor 和 select 在适配器中..

使用以下代码查看此 question

  public class CustomizedSpinnerAdapter extends ArrayAdapter<String> {

  private Activity context;
  String[] data = null;

  public CustomizedSpinnerAdapter(Activity context, int resource, String[] _data) {
      super(context, resource, data2);
      this.context = context;
      this.data = _data;
  }
  ...

  @Override
  public View getDropDownView(int position, View convertView, ViewGroup parent) {   
   View row = convertView;

   if(row == null) {
       //inflate your customlayout for the textview
       LayoutInflater inflater = context.getLayoutInflater();
       row = inflater.inflate(R.layout.spinner_layout, parent, false);
   }
   //put the data in it
   String item = data[position];
   if(item != null) {   
      TextView text1 = (TextView) row.findViewById(R.id.rowText);
      text1.setTextColor(Color.WHITE);
      text1.setText(item);
   }

   return row;
  }
 }

并且在 getDropDownView 中,您可以根据数据手动设置文本颜色