2016-05-23 22 views
0

ラジオボタンのフォーカスに問題があります。また、私は、同様の主題に関連する多くの質問があることを知っていますが、それらのどれもラジオボタンをカバーしていません(主にスピナーが問題です)。Androidラジオボタンが水平方向 - フォーカスが効かない

は私に説明してみましょう:

私が持っている:editText1、editText2、二つのボタンとし、より多くのEditTextボックス後の水平ラジオグループを。

問題は、テキストを入力して次のフィールドに移動してすべての情報を入力するときに発生します。

私はラジオボタン1に来ると、setOnEditorActionListenerを使って簡単にフォーカスを要求できます。しかし、その後、私は第2ラジオボタン(右側)のフォーカスを要求することができません。 キーボードはそれをスキップし、ラジオグループの後にedittextを入力する可能性があります。

さまざまな提案がありますが、私のニーズに合ったものはありません。

私が試してみました

: - setOnActionEditor(常にたActionのための0を得る) - onKeyListener - タッチモード

でフォーカスを要求するので、要約する:水平方向のラジオグループはラジオボタンがフォーカスを取得することはできません。なぜ?これは非常に奇妙で、私は多くのことを試しました。

ご迷惑をおかけして申し訳ございませんが、正確でありたいと思います。

ありがとうございました!ここで

は、XMLの一部です:

<EditText 
     android:id="@+id/editTextSurname" 
     android:layout_width="200dp" 
     android:layout_height="40dp" 
     android:inputType="textPersonName" /> 


    <EditText 
     android:id="@+id/editTextName" 
     android:layout_width="200dp" 
     android:layout_height="40dp" 
     android:layout_below="@id/editTextSurname" 
     android:layout_marginTop="5dp" 
     android:inputType="textPersonName" /> 

    <RadioGroup 
     android:id="@+id/gendersRadioGroup" 
     android:layout_width="200dp" 
     android:layout_marginTop="8dp" 
     android:layout_marginBottom="8dp" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/editTextName" 
     android:focusable="true" 
     android:orientation="horizontal" 
     android:focusableInTouchMode="true" 
     android:singleLine="true" 
     android:textSize="12sp"> 

     <RadioButton 
      android:id="@+id/maleRadioButton" 
      android:layout_width="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_height="@dimen/activity_profile_edittext_height" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:text="@string/male" 
      android:textColor="@drawable/radiobutton_selector" /> 

     <RadioButton 
      android:id="@+id/femaleRadioButton" 
      android:layout_width="wrap_content" 
      android:layout_marginStart="20dp" 
      android:layout_height="@dimen/activity_profile_edittext_height" 
      android:layout_gravity="center_vertical" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:text="@string/female" 
      android:textColor="@drawable/radiobutton_selector" /> 
    </RadioGroup> 

    <EditText 
     android:id="@+id/dateEditText" 
     android:layout_width="110dp" 
     android:layout_height="40dp" 
     android:layout_below="@+id/gendersRadioGroup" 
     android:inputType="date" /> 
+0

あなたは、このラジオグループを使用してレイアウトを定義するXMLを示していただけますか?これは、指定した属性の値がわかるようにするために必要です。 – ishmaelMakitla

+0

もちろん、私は質問を更新しました – vanste25

+0

ラジオボタンから 'focusable'と' focusableInTouchMode'を削除してみてください。 – ishmaelMakitla

答えて

0

は、Javaファイルにこのコードを使用することができます:

RadioButton radioButton = (RadioButton) findViewById(R.id.maleRadioButton); 
radioButton.setFocusable(true); 
radioButton.setFocusableInTouchMode(true); 
関連する問題