我有一个有三个标签的TabHost。第一个选项卡的内容是一个自定义活动的意图,该活动的内容视图是一个相对布局,其中包含两个EditTexts和两个CheckBoxes (以及一个按钮)。
每个复选框在选中时分别启用/禁用一个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);
}
}
});
这是可行的。当一个复选框被选中时,它将禁用另一个复选框和他的EditText,而当我取消选中它时,EditText和另一个复选框将被启用。但是,在启用它之后,我不能在EditText中键入任何内容。当我单击它时,它只会闪烁片刻,并将焦点切换到另一个视图。在我看来,该控件似乎没有完全启用。
我还尝试使用requestFocus()强制将焦点放在重新启用的EditText上,并尝试使用setFocusableInTouchMode(),但都没有成功。
我没有android设备,所以我只在模拟器中测试(最小SDK是1.6)。
https://stackoverflow.com/questions/3117903
复制相似问题