4

リストで選択されているアイテムを確認できるようにしたいです。に変わる前は、選択ListViewListFragmentたアイテムの背景色は青色 (ホロ ダーク) でしたが、アイテムを押している間は青色しか見えず、消えてしまいます。アイテムが「チェック」されることに問題はありません。あなたはそれを見ることができません。

これが私がすることです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>
4

2 に答える 2

0

現在詳細を見つけることはできませんが、状態に別のドローアブルを提供するlistview -items にcheckedステートリスト ドローアブルを提供する必要があります。

于 2012-10-01T19:49:53.283 に答える