0
我有一個ListView,我想從SQLite中獲取我保存的選擇並將它們顯示爲突出顯示的選項,以便用戶更新其選擇。無法突出顯示基於Android中的ArrayAdapter和ViewHolder的默認ListView項目
到目前爲止,我得到了一個List我的價值觀,我得到的ListView其相應位置使用:
int ItemPos = mAdapter.getPosition(Alist.get(i).toString());
mAdapter.toggleSelection(ItemPos);
和我的適配器如下:
public View getView(int position, View view, ViewGroup parent) {
if (view == null)
{
holder = new ViewHolder();
view = inflater.inflate(R.layout.list_item, null);
holder.itemName = (TextView) view.findViewById(R.id.txtAnswer);
view.setTag(holder);
} else
{
holder = (ViewHolder) view.getTag();
}
holder.itemName.setText(list.get(position));
return view;
}
public void toggleSelection(int position){
selectView(position, !mSelectedItemsIds.get(position));
}
public void selectView(int position, boolean value) {
if (value) {
mSelectedItemsIds.put(position, value);
holder.itemName.setBackgroundColor(Color.parseColor("#FJFJFJ"));
}
else{
mSelectedItemsIds.delete(position);
}
notifyDataSetChanged();
}
當我運行此我得到那
Attempt to read from field 'android.widget.TextView.AnswerListAdapter$ViewHolder.itemName' on a null object reference
如何更改我的項目的顏色?
謝謝
的你好嗎能夠訪問selectView中的holder.itemName。它認爲這讓你錯誤 – Ramit
我如何訪問項目來改變它的顏色?如果沒有視圖持有者? –
即將添加答案 – Ramit