1

私は次のレイアウトを使用しています:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:orientation="vertical" >
<DatePicker
        android:id="@+id/datePicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="2dp"
        android:layout_marginTop="2dp"
        android:nextFocusRight="@+id/timePicker"
        android:nextFocusDown="@+id/timePicker" />
 <TimePicker
        android:id="@+id/timePicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/datePicker"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="2dp"
        android:layout_marginTop="2dp"
        android:nextFocusLeft="@+id/datePicker"
        android:nextFocusUp="@+id/datePicker" />
 <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/timePicker"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="0dp"
        android:layout_marginTop="2dp"
        android:text="@string/button1" />
</RelativeLayout>

私は次のビューに到達しようとしています

android:nextFocusRight="@+id/timePicker"
android:nextFocusDown="@+id/timePicker"

しかし、これは機能しません。DatePickerで開始して[次へ]をクリックすると、通常のキーボードレイアウトで間違ったビューが表示されます。

誰か助けてもらえますか?

4

2 に答える 2

0

私の限られた Android の経験では、間違ったビューを取得するということは、コンパイルされた .class ファイルで使用されるリソース値が、生成された R ファイルと同期していないことを意味します。プロジェクトをクリーンアップして、最初から再構築してみてください。

これで問題が解決しない場合は、アプリ内の関連するアクティビティのコードも投稿してください。

于 2012-09-26T21:39:22.250 に答える
0

フォーカスしたいすべてのビューに以下を追加するだけでよいと思います。

android:focusable="true"

ドキュメントごと:

フォーカス処理

フレームワークは、ユーザーの入力に応じてルーチンのフォーカス移動を処理します。これには、ビューが削除または非表示になったとき、または新しいビューが使用可能になったときのフォーカスの変更が含まれます。ビューは、isFocusable()メソッドを通じてフォーカスを取得する意思を示します。


isFocusable()

このビューがフォーカスを取得できるかどうかを返します。

関連する XML 属性
android:focusable

このビューがフォーカスを取得できる場合は True を返し
、それ以外の場合は False を返します。

于 2012-09-26T21:56:10.903 に答える