当前位置:  开发笔记 > 后端 > 正文

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

如何解决《Android:EditText在重新启用后无法获得焦点》经验,为你挑选了1个好方法。

我有一个带有三个标签的TabHost.第一个选项卡的内容是自定义活动的意图,其内容视图是包含两个EditTexts和两个CheckBox(以及一个按钮)的相对布局.

检查后,每个checbox启用/禁用一个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).



1> 小智..:

解决方法:

使用setFocusableInTouchModesetFocusable,两者都有.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有