0
我想爲我的列表視圖做一個上下文菜單,所以當用戶長按一行,上下文菜單出現,並且當用戶選擇一個選項時,行被選中。但是,選擇了很多行,它會重複在列表視圖中爲其他行選擇模式。ListView重複選擇
同樣的情況發生在我點擊一行時。 IDK,如果它是視圖回收問題,或者是什麼。
如何解決這兩個問題,因爲首先是處理內部onContextItemSelected(MenuItem item)
所以我通過操縱MenuItem
對象管理行,第二個是在AdapterView.OnItemClickListener
處理。
順便說一句,我使用CursorAdapter來填充ListView。
謝謝。
這裏是我的代碼:
// Listener for the click on the items in the ListView
mListViewListener = new AdapterView.OnItemClickListener()
{
// When the user clicks some item, the Activity that shows the available dates will be shown
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long arg3)
{
view.setBackgroundColor(0xff333333);
}
};
// Handle the LongClick on the row
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.contact_options, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId())
{
case R.id.context_menu_item:
info.targetView.setBackgroundColor(0xff333333);
default:
return super.onContextItemSelected(item);
}
}
你最終的目標是什麼:長時間點擊改變背景顏色?或者更多? – Sam
@Sam更改我長按的行的背景(在我從LongClick創建的上下文菜單中選擇一個選項後),並更改我簡單單擊的行的背景。 – rogcg
檢查你的行重點,看看會發生什麼 – SpicyWeenie