该值在android中不被锁定,单击时可以更改

wkyowqbh  于 2023-05-21  发布在  Android
关注(0)|答案(3)|浏览(122)

我创建了一个名为井字游戏提交拼贴,应用程序运行成功,但主要问题是,点击一个按钮后,该按钮的值不锁定点击。
在示例中,如果我点击button1,则button1中的值被存储为X,但是当我第二次点击该button1时,该值正在改变,
所以问题是如何在点击时锁定按钮值。
谢谢你
没有什么特别尝试,但我想尽快解决这个问题

dgenwo3n

dgenwo3n1#

您可以在更改该按钮的值后,在该按钮的onClick事件中禁用该按钮。

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // write your code for changing the value of the button
            // ...
            // then disable it
            btn.setEnabled(false);
            btn.setClickable(false);
        }
    });
vktxenjb

vktxenjb2#

您可以通过在单击该按钮一次时禁用该按钮来解决问题。要做到这一点,可以使用以下代码:

YOUR_BUTTON.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Your other code

            //Disable the button
            btn.setClickable(false);
            btn.setEnabled(false);
        }
    });

要重新启用按钮,可以将.setClickable()和.setEnabled()函数设置为true。
在Kotlin中:

YOUR_BUTTON.setOnClickListener {
    //Your other code
 
    YOUR_BUTTON.isEnabled = false
    YOUR_BUTTON.isClickable = false
}

要重新启用,可以将两个参数都设置为true。

jgovgodb

jgovgodb3#

您可以禁用按钮视图并在单击按钮后单击事件。button.isClickable = false这将禁用单击事件,button.isEnabled = false这将禁用按钮视图。

override fun onClick(v: View) {
    when (v.id) {
        R.id.button_id -> {
            button.isClickable = false
            button.isEnabled = false
        }
    }
}

相关问题