在Android Spinner中更改所选项目的背景颜色

Pri*_*one 7 android spinner

我正在开发一个Android应用程序,并在我的应用程序中的许多地方使用Spinner.我想要的是更改所选微调器项目的背景颜色,以便可以轻松识别当前选择的项目.

我已经选中了这个链接设置选择的Spinner项目的背景颜色,但这样做会改变所选的textview背景颜色,但不要在下拉列表中更改它的颜色,我想在我看到时更改所选textview的背景颜色下拉列表.

我想更改列表中所选项目的颜色,而不是在微调器上,请参见下图.

在此输入图像描述 我怎样才能做到这一点?拜托,有人可以帮我吗?

非常感谢先进.

Vic*_*ert 19

您需要在适配器类中实现以下方法:

它会帮助你:

 int selectedItem = -1;

 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list) {

   @Override
   public View getDropDownView(int position, View convertView, ViewGroup parent)
   {
       View v = null;
       v = super.getDropDownView(position, null, parent);
       // If this is the selected item position
       if (position == selectedItem) {
           v.setBackgroundColor(Color.BLUE);
       }
       else {
           // for other views
           v.setBackgroundColor(Color.WHITE);

       }
       return v;
   }
};

 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 mySpinner.setAdapter(dataAdapter);
Run Code Online (Sandbox Code Playgroud)

现在在下面的微调器中选择的项目

   selectedItem = position;
Run Code Online (Sandbox Code Playgroud)