をハイライト表示されませんListView
セットとして:performItemClickは、私が持っているその項目
navMenu = (ListView) findViewById(R.id.list_menu_nav);
navMenu.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
menuList));
私は項目に触れ、それは白を取得します。アダプターは以下のように設定されている
<ListView
android:id="@+id/list_menu_nav"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:listSelector="#fff">
</ListView>
背景(私が設定した通り)。しかし、以下のように項目をクリックして実行すると、選択されますが、白い背景が表示されません。
navMenu.performItemClick(navMenu.getChildAt(1), 1, navMenu.getAdapter().getItemId(1));
私は他のすべては予想(リスナーと呼ばれ、getCheckedItemPosition
戻って正しい値)として動作するので、それが選択されている知っています。
この場合、正しいアプローチは何ですか?レイアウトをカスタムレイアウトに置き換え、強調表示を自分で作成するか、同じデフォルトレイアウトを使用する方法がありますか?
たぶん、あなたはクリックを実行する前に、 'invalidate'項目する必要があります。 – Naddy
私はそれをテストしました。 performClickの後に 'navMenu.invalidate()'と 'navMenu.requestLayout()'も動作しません。 :\ –
@EugenMartynovおそらく 'listSelector'はリストで選択されているものをマークします。あなたが言っていることに続いて、おそらくアンドロイドチームは 'listSelectorForUserClicks'のような名前に変更する必要があります。 –