【问题标题】:Android Studio ToggleButton Check ProblemAndroid Studio ToggleButton 检查问题
【发布时间】:2022-06-17 06:18:08
【问题描述】:

我正在使用 Java 创建一个应用程序。在其中一个屏幕中,我有 4 个复选框,如果它们被选中,用户将获得 15 分,如果没有,则不计分。我有以下代码来检查 ToggleButton 是否被选中(取自 Android 开发者文档):

fg_reflect_checkbox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            reflectpoints += 15;
            ((DataSite) getActivity().getApplication()).setReflectPoints(reflectpoints);
        } else {
            reflectpoints += 0;
            ((DataSite) getActivity().getApplication()).setReflectPoints(reflectpoints);
        }
    }
});

这很好用,如果我点击切换开关,会添加一个tick,我会获得 15 分。但是,如果我再次点击它以删除勾号,然后再次点击它以再次添加它,它会增加 15 个点,总计 30 个。

这对我来说是个问题,因为用户可能会不小心点击切换按钮以删除勾选,然后再次点击以纠正他/她的错误。他/她不会得到15分,而是30分。

我尝试在 if 子句中实施第二次检查,但没有奏效。我基本上想检查刻度线是否存在,并避免每次点击两次或多次记录分数。有什么想法吗?

【问题讨论】:

  • 如果复选框未选中,您不能只减去 15 吗?
  • 哦,天哪……它成功了!我以前试过,但我把减法放在else 上。感谢您的评论,我添加了 else if 子句。干杯,不知道我怎么错过了那个!

标签: java android android-togglebutton


猜你喜欢
  • 2014-02-01
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多