【问题标题】:Android Studio - Trying to program an event driven Checkbox clickAndroid Studio - 尝试编写事件驱动的复选框单击
【发布时间】:2016-05-12 15:25:55
【问题描述】:

所以这里是下面的代码 这是复选框的 XML

 <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Remember me"
            android:id="@+id/rememberMe"
            android:checked="false"
            android:hint="Save my login details"
            android:onClick="CheckboxIsTicked"
            />


        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="I agree on the terms &amp; conditions"
            android:id="@+id/tandc"
            android:checked="false"
            android:onClick="CheckboxIsTicked"
            />

这是我通过更改文本框来测试它是否被点击的函数

   public void CheckboxIsTicked(View v) {

            boolean checked = ((CheckBox) v).isChecked();

                switch (v.getId()) {
                    case R.id.rememberMe:
                        if (checked) {
                            //((EditText) findViewById(R.id.et_username)).setText("test");
                        } else {
                            break;
                        }

                    case R.id.tandc:
                        if (checked) {
                            //((EditText) findViewById(R.id.et_username)).setText("test");
                        } else {
                            break;
                        }
                }
            }

但是,只要我点击任一复选框,我的程序就会崩溃

关于我做错了什么有什么建议吗?

【问题讨论】:

  • 分享更多代码..您如何定义复选框以及如何调用方法CheckboxIsTicked??
  • 我展示了它们是如何在上面的 xml 中定义的。勾选任一复选框时调用该函数。
  • 编辑您的问题并添加该代码。这样我们就可以了解出了什么问题。

标签: android-studio checkbox ischecked


【解决方案1】:

这不是崩溃,你可能忘记放edittext,放整个代码来解决这个问题,代码应该是这样的

public void CheckboxIsTicked(View v) {
    boolean checked = ((CheckBox) v).isChecked();
    switch (v.getId()) {
        case R.id.rememberMe:
            if (checked) {
                // ((EditText) findViewById(R.id.etEmail)).setText("test");
            } else {

            }
            break;
        case R.id.tandc:
            if (checked) {
                // ((EditText) findViewById(R.id.etEmail)).setText("test");
            } else {

            }
            break;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多