安卓工作室 : Using CheckBox to set EditText enabled

标签 android checkbox android-edittext

在 android studio 中,我试图使用 CheckBox 来控制数字 EditText 是启用还是禁用。单击复选框时的相关代码:

    boolean checked = ((CheckBox) view).isChecked();
    EditText yzEdit = (EditText) findViewById(R.id.yzEdit);

    // Check which checkbox was clicked
    switch(view.getId()) {
        case R.id.yzCheck:
            if (checked){
                yzEdit.setBackgroundColor(Color.parseColor("#FFFFFF"));
                yzEdit.setTextIsSelectable(true);
                yzEdit.setFocusable(true);
                yzEdit.setFocusableInTouchMode(true);
                yzEdit.setCursorVisible(true);
                yzEdit.setEnabled(true);
            }
            else{
                yzEdit.setBackgroundColor(Color.parseColor("#CCCCCC"));
                yzEdit.setTextIsSelectable(false);
                yzEdit.setFocusable(false);
                yzEdit.setFocusableInTouchMode(false);
                yzEdit.setCursorVisible(false);
                yzEdit.setEnabled(false);
            }
            break;
    }

几乎一切正常。但是,当我选中该框,启用 yzEdit,然后单击 yzEdit 时,没有直接弹出用户数字键盘。因此,用户不能在新启用的 EditText 中输入任何数字(除非以一种圆润的方式通过前一个 EditText 的“Next”关注它。

我正在寻找控制此行为的哪个属性?

最佳答案

如果你想检测一个对象是否改变了他的状态,你需要在你的复选框上使用一个监听器。

对于您的情况,在您的复选框上使用 setOnCheckedChangeListener()。

你可以在这里看看:http://developer.android.com/reference/android/widget/CompoundButton.html 和 : Android: checkbox listener

关于安卓工作室 : Using CheckBox to set EditText enabled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731264/

相关文章:

android - 将 fragment 与 NativeActivity 结合使用

java - Android:使用 LeadingMarginSpan 在 TextView 中显示项目符号列表?

android - 从 JobScheduler 迁移到 WorkManager 似乎是一项艰巨的任务。任何建议+

数据库中的 Php 更新复选框状态

android - android自定义 ListView 中的自动复选框选择

java - 自定义功能: Add Specific Symbol While Typing Into Edittext

android edittext 不滚动

android - 如何在Alert Dialog中设置EditText的dp左右边距

android - RemoteViewService Intent 上的 setData

php - 使用 php 的 html 中的复选框