自定义适配器,所选项目背景

我有自定义适配器视图的问题。 我尝试,更改Click事件的view背景。 我有AdapterView.OnItemClickListener ,我得到选中的项目,并调用myListView.invalidate();

无效后,调用adapters getView(...) 。 这里代码为:

@Override public View getView(int position,View convertView,ViewGroup parent){

  View row = convertView; ProjectAdapterData projectItem; if (row == null) { LayoutInflater inflater = LayoutInflater.from(context); row = inflater.inflate(R.layout.project_small_item_layout, null); ProjectAdapterData projectAdapterData = new ProjectAdapterData(); row.setTag(projectAdapterData); name = (TextView)row.findViewById(R.id.txtObjectName); if (objectData[position].Name!= null) name.setText(objectData[position].Name); adress = (TextView)row.findViewById(R.id.txtObjectAdress); if (objectData[position].Adress != null) adress.setText(objectData[position].Adress); } else { background = (RelativeLayout)row.findViewById(R.id.rlProjectBackground); if (objectData[position].isSelected) background.setBackgroundColor(context.getResources().getColor(R.color.cProjectSelected)); else background.setBackgroundResource(R.color.cProjectUnSelected); //it's calls, but no result row.invalidate(); } return row; } 

我的问题,为什么背景不会改变?

我的selector_list

      

您可以使用选择器突出显示项目

在drawable文件夹中创建一个xml文件

list_selector.xml

       

并在列表视图中为xml设置listSelector

 android:listSelector="@drawable/list_selector" 

color.xml

   #000000 #FFFFFF #a5acb0 #525964 #212121 #a6b1ba #C9282D #A9A9A9 #000000 #00000000 #FFFFFF #00aceb #8AB8E0 #55000000 #627583 #393430 #1f1c17 #546778 #8E8E8E #0f5690  

对于custom_list_item,布局应该是

     

最低版本的应用程序应为11

在此处输入图像描述