我試圖在我的應用程序中實現上下文操作欄。我擴展了一個ListFragment,並且我定義了一個自定義ArrayAdapter和列表項xml。點擊項目工作正常,背景顏色在列表項上發生變化。我遇到麻煩的地方是選擇多個項目時。上下文動作欄出現了,我可以告訴我實際上是在我觸摸它們時選擇了項目,因爲我正在記錄哪些項目被選中,但列表項目上的背景突出顯示顏色不會改變!好像其他人在使用Fragments API時也遇到了這個問題,並且他們想出了一些破解方法來使其正常工作。但是,我想知道是否有人對我的列表爲什麼不顯示選定項目有明確的答案。ListFragment多選不顯示選擇
良好的措施,這是我的代碼:
ListView list = getListView();
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
list.setSelector(R.drawable.list_selector);
// configure contextual action bar
list.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode actionMode, int position, long id, boolean b) {
Log.i("debug", "item " + position + " changed state");
}
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = actionMode.getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem item) {
switch (item.getItemId()) {
case R.id.delete:
Log.i("debug", "delete stuff");
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
}
});
不要忘記接受答案。 –