私のアプリでは、ユーザーがラジオボタンを使用して行う選択に応じて、情報(e1とe2)を収集するために1つまたは2つのedittextを表示する必要があります。これは、edittextの可視性状態をGONEに設定することによって行われ、正常に動作します。プログラムでEditText IME_ACTIONを変更します
私の問題は、プログラム、すなわち、それぞれのケースについての "次へ" "完了" からIME_ACTIONを設定する方法である:
1)E1のみが表示されている -
2 DONEにE1のIME_ACTIONを設定) e1とe2が表示されます.e1のIME_ACTIONをNEXTに設定し、IME_ACTIONをe2のDONEに設定します。
Android 2.2デバイスでandroid:minSdkVersion = "4"とandroid:targetSdkVersion = "16"を使用してテストしています。
ここに私のレイアウトです:
<EditText
android:id="@+id/e1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
android:singleLine="true"
android:imeOptions="actionDone"
android:hint="@string/sh15"
android:textColor="@android:color/black"
android:textSize="@dimen/s">
</EditText>
<EditText
android:id="@+id/e2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
android:singleLine="true"
android:imeOptions="actionDone"
android:hint="@string/sh16"
android:textColor="@android:color/black"
android:textSize="@dimen/s">
</EditText>
は、ここに私のコードです:
RadioGroup r= (RadioGroup) dialog.findViewById(R.id.rg);
r.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId)
{
switch(checkedId)
{
case R.id.rb1: //show one edittext
e1.setVisibility(View.VISIBLE);
e2.setVisibility(View.GONE);
e1.setImeOptions(EditorInfo.IME_ACTION_DONE);
break;
case R.id.rb2: //show two edittext
e1.setVisibility(View.VISIBLE);
e2.setVisibility(View.VISIBLE);
e1.setImeOptions(EditorInfo.IME_ACTION_NEXT);
e2.setImeOptions(EditorInfo.IME_ACTION_DONE);
break;
}
}
});
解決方法はありますか? –