gpt4 book ai didi

java - 如何检测不止单击一次的情况?

转载 作者:行者123 更新时间:2023-12-01 18:01:48 24 4
gpt4 key购买 nike

我想多次检测单次点击。我有一个 Activity ,用户可以点击图像,他们应该收到 Toast 消息,并且程序应该将图像更改为另一图像,并且每当用户点击该图像时,应该有另一条 Toast 消息。更具体地说,我将尝试提供一个示例:假设我们有两个图像:1 - 直线2 - 圆圈

当用户进入指定的 Activity 时,应该在工具栏中看到其中一个图像(假设第一个图像是直线)。当用户单击此图像时,应用程序应显示 Toast,然后将直线更改为圆形。

*通过更改图像,我的意思是设置方法,例如

circle.setVisibility(View.VISIBLE); // circle.setVisibility(View.GONE);

不幸的是,我的开关盒无法按我的预期工作。每当用户单击第一个图像时,都会更改这两个图像的可见性,但看起来 OnClick 方法无法识别另一次点击。这是代码

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.line: {
Toast.makeText(TAG.this, "line", Toast.LENGTH_SHORT).show();
test = 2;
break;
}
case R.id.circle: {
Toast.makeText(TAG.this, "circle", Toast.LENGTH_SHORT).show();
break;
}
}
switchImages();
}





private void switchImages(){
switch (test){
case 1:
line.setVisibility(View.GONE);
circle.setVisibility(View.VISIBLE);
break;
case 2:{
line.setVisibility(View.VISIBLE);
circle.setVisibility(View.GONE);
break;
}
}
}

最佳答案

你错过了一些东西..;)

public void onClick(View v) {
switch (v.getId()) {
case R.id.line: {
Toast.makeText(TAG.this, "line", Toast.LENGTH_SHORT).show();
test = 2;
break;
}
case R.id.circle: {
Toast.makeText(TAG.this, "circle", Toast.LENGTH_SHORT).show();
break;
}
}
switchImages();
}

在第一种情况下,您分配了 test = 2 但在第二种情况下,您没有对该变量执行任何操作,因此方法 switchImages() 不会真的可以做任何事情,因为它取决于test,它始终为2(图像不会相应地切换)

关于java - 如何检测不止单击一次的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60614775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com