リストで選択されているアイテムを確認できるようにしたいです。に変わる前は、選択ListView
しListFragment
たアイテムの背景色は青色 (ホロ ダーク) でしたが、アイテムを押している間は青色しか見えず、消えてしまいます。アイテムが「チェック」されることに問題はありません。あなたはそれを見ることができません。
これが私がすることですonActivityCreated()
:
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
getListView().setItemsCanFocus(false);
getListView().setMultiChoiceModeListener(new LongPress());
LongPress()
を実装するプライベートクラスListView.MultiChoiceModeListener
です。アイテムを指で押さえると、コンテキスト アクション バーが開きます。その後、ユーザーはさらに項目を選択できますが、ここで問題が発生します。どの項目がチェックされているかどうかはわかりません(強調表示したい)。拡張する前に機能したのはなぜListFragment
ですか? .xml ファイルにカスタム セレクターを作成しようとしましたが、それもうまくいかないようでした。もしあれば、カスタムのものを使用したいと思います。
私のListFragment
クラスの別のメソッドは次のとおりです。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_listview, container, false);
}
fragment_listview.xml は、背景色と仕切りの色を変更する以外に特別なことは何もしていません。
私は何をすべきか?
私はこれを試しましたが、うまくいきませんでした:
私のlist_item.xmlで:
android:background="@drawable/selector"
セレクター.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/item_checked" />
</selector>
item_checked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http//schemas.android.com/apk/res/android" >
<solid android:color="#000000" />
</shape>