同じコンテナを使用する複数のフラグメントがあり、別のフラグメントにフラグメントが追加された場合、最近追加されたフラグメントのビュー。私はonBackstackChangeListener()を使用して解決しようとしましたが、動作していないようです。画像のように、私はPin Entryフラグメントだけにフォーカスしたいが、Pin Entry Fragmentの後ろのフラグメントの "Enter"ボタンにもフォーカスが移っている。助けてください。複数のフラグメントが追加されたコンテナ内の1つのフラグメントのみにフォーカスを限定する
0
A
答えて
0
すべてのフラグメントに単一のコンテナを使用している場合は、フラグメントの最上位のルートをクリック可能に設定する必要があります。さもなければ、後ろのフラグメントがクリック可能なアイテムのためのフォーカスをつかむことができます。例えば以下の断片のレイアウトを見てください。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="?selectableItemBackground"
android:gravity="center_vertical"
android:textColor="@color/white"
android:textSize="@dimen/normal_text" />
</LinearLayout>
0
私はこの問題を回避する方法を見つけましたが、実際の解決策ではありません。最高の答えは正解とマークされます。
ワーキングアラウンド: レイアウトの周囲にフォーカスを置いて、そのまま滞在するビューを追加します。例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="horizontal"/>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:focusable="true"
android:id="@+id/left_view"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/buyOrWatch"
android:layout_width="90dp"
android:layout_height="30dp"
android:layout_margin="5dp"
android:background="@drawable/movie_buy_selector"
android:focusable="true"
android:gravity="center"
android:text="@string/buy"
android:textColor="@color/color_white" />
<TextView
android:id="@+id/preview"
android:layout_width="90dp"
android:layout_height="30dp"
android:layout_margin="5dp"
android:layout_marginTop="15dp"
android:background="@drawable/movie_buy_selector"
android:focusable="true"
android:gravity="center"
android:text="@string/preview"
android:textColor="@color/color_white" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:focusable="true"
android:id="@+id/right_view"/>
レイアウトを、0dp幅の2つのフォーカス可能なビューの間にtextviewsで配置しました。 フラグメントクラスで、これらのビューをバインドし、次にこれらのビューに対してfocusChangeListener()
を定義します。断片が表示されているように、例えばleftView
結合がTextView
がandroid:id="@+id/buyOrWatch"
を有するID android:id="@+id/left_view"
とbuyOrWatch
と表示する場合、次いで、
leftView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if(hasFocus){
buyOrWatch.requestFocus();
}
}
});
あなたがあれば、次いで、上記のような各ビューの同様のフォーカス変更リスナーを定義することができ、フォーカスとステーその断片にこれが誰かを助けることを望みます。
関連する問題
- 1. Android - 最後のフラグメントが削除される前に、フラグメントがコンテナに追加されます。
- 2. 複数のフラグメントをcheesesquareデモに追加
- 3. 複数のRecyclerViewを1つのフラグメント
- 4. プログラムで追加されたキーが戻ってきたフラグメントが空のコンテナにつながる
- 5. アクティビティ内の複数のフラグメント
- 6. フラグメント2がアンドロイドでフラグメント1の前にトリガーされました
- 7. 1つのフラグメントから別のフラグメントにデータを渡す| ViewPagerフラグメントの内容を変更する(ViewPager内)
- 8. フラグメントにフラグメントを追加する方法
- 9. 複数のコールバックを1つのフラグメントに改訂する
- 10. 1つのフラグメントから置換されたフラグメントにデータを渡す方法
- 11. ネストされたフラグメント内PlaceSelectionListenerを追加する方法
- 12. UML Designer for Eclipseに複数のフラグメントを追加する
- 13. 複数のフラグメントを同じフラグメントトランザクションに追加する
- 14. フラグメントのインスタンスをバックスタックに1つだけ追加します
- 15. フラグメントが別のフラグメントに重複する
- 16. フラグメント内にRecyclerViewを追加する
- 17. 2つのフラグメント(1つのフラグメントと1つのListFragment)をスクロールする
- 18. フラグメント内のフラグメント
- 19. フラグメント内のXamarin埋め込みフラグメント
- 20. ネストされたフラグメント内の2つの子フラグメント間の通信方法
- 21. 別のフラグメントでデータが変更されたときにRecyclerViewを1つのフラグメントでリフレッシュする方法
- 22. アンドロイド:プログラムにより、私はプログラム的フラグメントに複数のRecyclerViewsを追加する必要がありフラグメント
- 23. アンドロイドのフラグメントでエラーが表示され、フラグメントを追加できません
- 24. フラグメント内のフラグメント内のgetSupportFragmentManager()
- 25. FragmentManager.popBackStack()は現在のフラグメントの下にフラグメントを追加します
- 26. ViewPagerで1つのフラグメントを複数回使用する
- 27. 1つのフラグメントから別のフラグメントに文字列を渡す
- 28. 1つのフラグメントから別のフラグメントにArrayListアイテムを渡す
- 29. ネストされたフラグメント(Android 4.2)を使用してViewPager内にフラグメントを追加する方法
- 30. フラグメント1、フラグメント1〜フラグメント2フラグメント2への活性
フラグメントの最上位ルートをxmlでクリック可能にします。 – ADM
@ADMもう少し説明してください... –