首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何修复多个点击按钮(数据库测验应用程序)

如何修复多个点击按钮(数据库测验应用程序)
EN

Stack Overflow用户
提问于 2020-06-24 12:28:29
回答 1查看 31关注 0票数 0

我申请了一个关于firebase的问题。在问答部分有一些按钮。但是当有连续的点击时,下一个问题的答案也会被点击。我该如何解决这个问题呢?

这是QuestionActivity.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_question);

        question = findViewById(R.id.question);
        qCount = findViewById(R.id.question_num);
        timer = findViewById(R.id.coundown);

        option1 = findViewById(R.id.option1);
        option2 = findViewById(R.id.option2);
        option3 = findViewById(R.id.option3);
        option4 = findViewById(R.id.option4);

        option1.setOnClickListener(this);
        option2.setOnClickListener(this);
        option3.setOnClickListener(this);
        option4.setOnClickListener(this);

这是OnClick方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
    public void onClick(View view) {
        int selectedOption = 0;


        switch (view.getId()) {
            case R.id.option1:
                selectedOption = 1;
                break;

            case R.id.option2:
                selectedOption = 2;
                break;

            case R.id.option3:
                selectedOption = 3;

                break;
            case R.id.option4:
                selectedOption = 4;

            default:

        }
        //  countdown.cancel();
        checkAnswer(selectedOption, view);


    }

这是Question.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Question {

    String question;
    String optionA;
    String optionB;
    String optionC;
    String optionD;
    int correctAns;


    public Question(String question, String optionA, String optionB, String optionC, String optionD, int correctAns) {
        this.question = question;
        this.optionA = optionA;
        this.optionB = optionB;
        this.optionC = optionC;
        this.optionD = optionD;
        this.correctAns = correctAns;
    }
EN

回答 1

Stack Overflow用户

发布于 2020-06-25 11:37:57

对此有两种解决方案。在onClick类的开头放入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    option1.setOnClickListener(null);
    option2.setOnClickListener(null);
    option3.setOnClickListener(null);
    option4.setOnClickListener(null);

然后,当您想问另一个问题时,重新分配onClickListeners。

或者你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
boolean questionBeingAsked = true;
@Override
public void onClick(View view) {
    int selectedOption = 0;


if(questionBeingAsked){

    switch (view.getId()) {
        case R.id.option1:
            selectedOption = 1;
            break;

        case R.id.option2:
            selectedOption = 2;
            break;

        case R.id.option3:
            selectedOption = 3;

            break;
        case R.id.option4:
            selectedOption = 4;

        default:

    }
    //  countdown.cancel();
questionBeingAsked = false;
    checkAnswer(selectedOption, view);
}

}

然后,当你想问一个问题时,只需运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
questionBeingAsked = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62555035

复制
相关文章
VBA实用小程序50: 在指定的单元格中插入指定的形状
下面的自定义函数使用Shapes集合对象的AddShape方法及其参数,可以在指定的单元格中插入指定的形状。
fanjy
2019/07/19
2.5K0
VBA实用小程序50: 在指定的单元格中插入指定的形状
mysql数据库中指定值在所有表中所有字段中的替换
1.写一个存储过程,查指定数据库中所有的表名: CREATE PROCEDURE init_replace(in orig_str varchar(100),in new_str varchar(100),in db_name varchar(100)) BEGIN DECLARE t_name VARCHAR(50); DECLARE done int default 0; DECLARE cur CURSOR FOR SELECT DISTINCT table_name as name FROM INF
憨批程序员
2020/10/18
8.2K0
修改表名列名mysql_怎么修改mysql的表名和列名?
在mysql中,可以通过“ALTER TABLE 旧表名 RENAME 新表名;”语句来修改表名,通过“ALTER TABLE 表名 CHANGE 旧字段名/列名 新字段名/列名 新数据类型;”语句来修改列名。
全栈程序员站长
2022/08/30
11.8K0
修改表名列名mysql_怎么修改mysql的表名和列名?
在 JavaScript 中替换所有指定字符 3 种方法
在 JS 没有提供一种简便的方法来替换所有指定字符。 在 Java 中有一个 replaceAll() ,replaceAll(String regex, String replacement))方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
前端小智@大迁世界
2020/06/28
30.7K0
下载整个Yum源的所有安装包到本地指定目录
 由于公司业务大部分都在内网环境下运行,内网环境无法直接使用yum安装升级更新软件,所以需要自建Yum源来满足目前日常工作需要。
非著名运维
2022/12/12
3.1K0
下载整个Yum源的所有安装包到本地指定目录
Java中解决列名不匹配的两种方式
引用它的语句使用 resultMap 属性就行了(注意我们去掉了 resultType 属性)。比如:
用户8983410
2021/10/07
1.2K0
使用VBA在工作表中列出所有定义的名称
有时候,工作簿中可能有大量的命名区域。然而,如果名称太多,虽然有名称管理器,可能名称的命名也有清晰的含义,但查阅起来仍然不是很方便,特别是想要知道名称引用的区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。
fanjy
2022/11/16
6.6K0
在Chrome中截取整个网页
经常使用谷歌浏览器的话,如果要想对网页截图,大多都直接使用系统自带截屏方式或者第三方截屏。但如果要把网页整个截取下来的话,你可以试试Chrome自带的截屏功能。步骤如下:
Inkedus
2020/04/16
1.6K0
在Chrome中截取整个网页
在MySQL表中查询出所有包含emoji符号的数据
1. 从以下地址下载emoji的utf8编码文件 https://gist.github.com/JoshyPHP/225b3c77005a89d81511
用户1148526
2022/10/04
13.5K0
在MySQL表中查询出所有包含emoji符号的数据
mysql 查外键关联关系 (指定被引用表,查哪些表对其有外键引用)
从 INFORMATION_SCHEMA.KEY_COLUMN_USAGE 表中查。
微风-- 轻许--
2022/04/13
3.7K0
mysql 查外键关联关系 (指定被引用表,查哪些表对其有外键引用)
PHP 获取指定 URL 页面中的所有链接
以下代码可以获取到指定 URL 页面中的所有链接,即所有 a 标签的 href 属性:
Z4
2020/04/22
7.6K0
在Greenplum(PostgreSQL)表中查询出所有包含emoji符号的数据
1. 从以下地址复制emoji的unicode https://unicode.org/emoji/charts/full-emoji-list.html
用户1148526
2022/10/06
3.6K0
在Greenplum(PostgreSQL)表中查询出所有包含emoji符号的数据
mysql 修改 表名 列名 为小写
SELECT CONCAT( ‘ALTER TABLE ‘, table_name, ‘ RENAME ‘, LOWER( table_name ), “;” ) AS statement FROM information_schema.TABLES WHERE table_schema = ‘数据库’ AND table_name LIKE ‘表名%’;
全栈程序员站长
2022/09/03
4.1K0
VBA实用小程序63: 查找并返回与指定属性匹配的所有单元格
本文介绍的VBA程序是一个自定义函数,整理自jkp-ads.com,很好地增强了内置的CallByName函数的适用性。
fanjy
2020/11/09
1.5K0
VBA实用小程序63: 查找并返回与指定属性匹配的所有单元格
【Oracle】查询某张表的列名及备注
查询某张表的列的备注 select COLUMN_NAME 列名, COMMENTS 注释 from user_col_comments where table_name = '表名' 返回结果: 列名 注释 CREATE_TIME 创建时间 ... ... 查询某张表的列定义 select COLUMN_NAME 列名, DATA_TYPE 类型, DATA_LENGTH 长度 from USER_TAB_COLUMNS where TABLE_NAME = '表名'; 返回结果: 列名 类型 长度
tonglei0429
2021/08/27
2.4K0
在整个 Git 仓库的历史(包括所有分支和标签)中修改提交作者的信息(姓名和邮箱)
但是现在我计划开源我的一个项目,于是自己个人使用的姓名和邮箱就需要在开源的时候改为使用我公开的姓名和邮箱。对于旧仓库,我将废弃,将来所有的精力都将在开源版本的仓库中;而对于开源版本的新仓库,由于此前没有人克隆过,所以也不会因为历史的修改产生问题。所以,我可以很放心地更改全部的 git 仓库历史。
walterlv
2023/10/22
4110
在整个 Git 仓库的历史(包括所有分支和标签)中修改提交作者的信息(姓名和邮箱)
VBA代码:将整个工作簿中的所有公式转换为值
有趣的是,不管工作簿中有多少张表,它都是用一个操作来处理的。通常情况下,都是试图通过遍历工作表来做到这一点,然而并没有那么有效。
fanjy
2023/10/10
1.3K0
VBA代码:将整个工作簿中的所有公式转换为值
VBA实用小程序61: 在文件夹内所有文件中运行宏/在工作簿所有工作表中运行宏
在文件夹中所有文件上运行宏,或者在Excel工作簿中所有工作表上运行宏,这可能是一种非常好的Excel自动化方案。例如处理类似的数据工作簿文件并想要提取数据或转换该工作簿。下面给出了适用这种情况的一些VBA程序,这些程序代码整理自analystcave.com,供有兴趣的朋友参考。
fanjy
2019/12/12
4.9K0
查数据库中的表,了解大体结构
大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。 SELECT TOP 100 Percent sysobjects.name, sysindexes.rows FROM sysindexes with(nolock) JOIN sysobjects with(nolock) ON sysindexes.id = sysobjects.id AND sysobjects.xtype = 'u' WHERE sysindexes.indid in(0, 1) ord
全栈程序员站长
2021/12/28
1.3K0
点击加载更多

相似问题

如何使用jdbcTemplate更新整个对象而不指定列名?

30

在jOOQ中插入记录而不指定列名

20

选择列而不指定列名

21

不指定列名的INSERT INSERT表

41

在SQL Server中查找空列名称

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文