1
我有自定義適配器視圖的問題。 我嘗試,在Click
事件中更改背景view
。 我有AdapterView.OnItemClickListener
,從哪裏獲得所選的項目,並呼籲myListView.invalidate();
自定義適配器,選定的項目背景
無效後,調用adapters getView(...)
。下面這段代碼:
@覆蓋 公共查看getView(INT位置,查看convertView,ViewGroup以及母公司){
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
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="@color/cProjectSelected"/>
<item android:state_selected="false"
android:color="@color/cProjectUnSelected"/>
</selector>
a無法從可繪製文件夾訪問@color – Vitaliy
您應該在值文件夾中創建color.xml併爲您的佈局定義顏色 – kId
我已在值中使用color.xml,但無法訪問它。我只能訪問android:@drawable – Vitaliy