私は現在、'sのListView
Contextualをアクティブにするを持っています。ActionBar
ListView
OnItemLongClickListener
アイテムをクリックして選択できるようにしようとしていますが、コンテキストActionBar
がアップしている場合に限ります。
問題は、チェックするisItemChecked()
と、アイテムの選択状態を切り替えるために、常に想定とは逆の状態が返されることです。
これが私がどのように実装したかですOnItemClickListener
:
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mActionMode != null){
list.setItemChecked(position, !list.isItemChecked(position));
}
else{
list.setItemChecked(position, false);
}
}
});
編集:これはかなり奇妙です..このコードは選択状態を切り替えます:
list.setItemChecked(position, list.isItemChecked(position));
何が起こっている!?
編集2:ああ、Androidが各アイテムを自動的にチェックおよびチェック解除しているようです...この動作を変更して自分で処理する方法はありますか?