Android:EditText在重新启用后无法获得焦点

问题描述 投票:21回答:1

我有一个带有三个标签的TabHost。第一个选项卡的内容是自定义活动的意图,其内容视图是一个相对布局,其中包含两个EditTexts和两个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);
            }
        }
    });

而且可行。当选中一个复选框时,它将禁用另一个复选框及其EditText,而当我取消选中时,将启用EditText和另一个复选框。但是,启用后,我无法在EditText中键入任何内容。当我眨了一下单击它,然后将焦点切换到另一个视图。在我看来,该控件未完全启用。

[我也试图通过requestFocus()迫使焦点集中在重新启用的EditText上,并尝试设置setFocusableInTouchMode(),但都没有起作用。

我没有android设备,所以我只能在模拟器中进行测试(Min SDK为1.6)。

android focus android-widget android-edittext
1个回答
38
投票
同时使用setFocusableInTouchModesetFocusable
© www.soinside.com 2019 - 2024. All rights reserved.