Listview
üzerinde setMultiChoiceModeListener
kullanıyorum, silinecek birden çok öğeyi seçmek için Eylem Modu'nu çağırın. ListView
üzerinde kaydırma Ben sunucudan daha fazla veri yüklemek ve adaptörü bildirmek. adapter
bildirildikten sonra, Eylem Modu (çağrılırsa) imha edilir ve yeniden oluşturulur; bu da başlığı ve arraylistin boş olduğunu gösterir (aşağıdaki resmi görebilirsiniz). Liste görünümü öğesi seçimi kalırken. CAB'nin, Gmail uygulamasında gördüğümüz gibi, daha fazla veri yüklemeyi imha etmediği gibi kalıcı olmasını istiyorum.Android CAB, liste görünümünden sonra yok saymayacak şekilde değişti
Aşağıda Herhangi bir yardım son derece takdir edilecektir Eylem Modu
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
Item mItem = adapter.items.get(position);
if (mItem.isSection()) {
} else {
mode.setTitle(listView.getCheckedItemCount() + " Selected");
EntryItem mEntryItem = (EntryItem) mItem;
orderid = mEntryItem.orderId;
if (checked) {
selectedIdList.add(orderid);
} else {
selectedIdList.remove(orderid);
}
// Toggle the state of item after every click on it
adapter.toggleSelection(position);
}
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
if (item.getItemId() == R.id.delete){
if (selectedIdList.size() > 0) {
deleteItems(selectedIdList);
}
mode.finish();
return true;
}
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.menu_main, menu);
actionMode = mode;
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
actionMode = null;
if (selectedIdList.size() > 0) {
selectedIdList.clear();
adapter.mSelectedItemsIds.clear();
}
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
});
için kod, şimdiden teşekkürler olduğunu. Aşağıdaki örneklerde gösterildiği gibi
Yeniden oluşturmayı engelleyebilecek itemclick öğesinden mode.finish() öğesini kaldırmayı deneyin. –
lütfen buraya giriş ekleyin, böylece –
@parikdhakan 'mode.finish()' 'onActionItemClicked',' actionbar' içindeki delete simgesine dokunulur, aksi takdirde oraya çağrılmaz. –