2017-02-25 6 views
-1

投稿はNavigation drawer: How do I set the selected item at startup?です。そのポストでは、ナビゲーションドロワにはメニュービューがあり、ナビゲーションドロワにはリストビューがあります。ナビゲーションビューで押したリストビューの最初の要素を設定するにはどうすればよいですか?

私はナビゲーションドロワーとリストinitを持っています。私は、アイテムが選択されたときにいつも自分のリストをセットアップしました、アイテムは押した状態になり、選択されたリストアイテムを強調表示します。この関数はうまくいき、以下のようになります。

activityBinding.list.setOnItemClickListener((parent, view, position, id) -> { 
       parent.getChildAt(position).setPressed(true); 
}); 

私はxmlを持っていますが、これはlistviev textcolor属性で設定されています。私は引き出しを開ける前に、セットアップにデフォルトとして押され、リストの最初の項目を希望しかし

<item android:state_pressed="true" 
    android:color="#ffffffff"/> 
<item android:state_focused="true" 
    android:color="#ff0000ff"/> 
<item android:color="#00000000"/> 

:XMLはそのように見えます。私の質問は:どのようにsetOnItemListenerの外に押したセットのリストに項目を取得するには?

+0

これまで作業していたXMLレイアウトとJavaコードを投稿できる場合に役立ちます。それ以外の場合は非常に曖昧です。 – Anurag

+0

[ナビゲーションドロワー:重複する可能性があります]:選択したアイテムを起動時にどのように設定するのですか?](http://stackoverflow.com/questions/31233279/navigation-drawer-how-do-i-set-the-selected-item-起動時) – Divers

+0

@Divers私はそのポストを見ました。私はナビゲーション・ドロワーのリストを持っていますが、メニューはありません。 – XXX

答えて

0

activityBinding.list.getChildAt(0).setPressed(true)

しかし、あなたはNavigationViewなくListViewを使用する必要があります。

+0

私はそれを試して、nullpointer例外が発生しました:ヌルオブジェクトリファレンスで仮想メソッド 'void android.view.View.setPressed(boolean)'を呼び出そうとしました。私はまた、https://developer.android.com/training/implementing-navigation/nav-drawer.htmlに続きました。これは、ナビゲーションドローラにリストビューを持っています。 – XXX

+0

その後、そこに説明されているように修正してください - http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it。その問題はあなたの質問とは関係ありません。 – Divers

+0

上記の解決策が見つかりました。ご協力いただきありがとうございます。 – XXX

-1

私の問題の解決策が見つかりました。

関連する問題