3 つのタブを持つ TabHost があります。最初のタブのコンテンツは、contentview が 2 つの EditText と 2 つの CheckBox (およびボタン) を含む相対レイアウトであるカスタム アクティビティのインテントです。
各チェックボックスをオンにすると、一方の EditText ともう一方のチェックボックスが有効/無効になります。そして、私は次のようにそれについて行きました:
chkPolaziste.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
entryPolaziste.setFocusable(false);
entryPolaziste.setEnabled(false);
chkOdrediste.setFocusable(false);
chkOdrediste.setEnabled(false);
}
else
{
entryPolaziste.setEnabled(true);
entryPolaziste.setFocusable(true);
chkOdrediste.setEnabled(true);
chkOdrediste.setFocusable(true);
}
}
});
そして、それは機能します。1 つのチェックボックスをオンにすると、他のチェックボックスとその EditText が無効になり、チェックを外すと、EditText と他のチェックボックスが有効になります。しかし、有効にすると、EditText に何も入力できなくなります。クリックすると一瞬フリックし、フォーカスが別のビューに切り替わります。コントロールが完全に有効になっていないように見えます。
また、requestFocus() を使用して再度有効にした EditText にフォーカスを強制しようとし、FocusableInTouchMode() を設定しようとしましたが、どちらも機能しませんでした。
私は Android デバイスを持っていないので、これをエミュレーターでのみテストします (最小 SDK は 1.6 です)。