gpt4 book ai didi

android - 当我按下按钮时其他按钮如何禁用?

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:40 26 4
gpt4 key购买 nike

我有几个 imageview 有 onclicklistener。如果我按下一个(而不是释放),我可以按下单击其他按钮,或者我可以同时单击它们。我不想要这个。每次当我按下其中一个时,其他人应该无法点击。

imageview1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

getMethod();

}
});

我想,我尝试了 setClickable(false); 但它没有正常工作,如果我在它之后单击一个按钮它就可以工作。

最佳答案

尝试使用 onTouchListener 而不是 onClickListener 并在其他 View 上调用 setEnabled(false);。这是一个相当基本的示例:

OnTouchListener onTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
imageView1.setEnabled(false);
imageView2.setEnabled(false);
}
return true;
}
};

然后将其应用于 ImageView :

imageView1.setOnTouchListener(onTouchListener);

那应该行得通。不过,有一件事是,虽然无论如何您都只能按下一个按钮,但在您放手后也无法按下任何按钮 - 但是,您可以通过添加一些逻辑来解决这个问题,看看是否 View 实际上被点击了,或者如果用户触摸了它,改变了主意并滑开了。 (event.getAction() == MotionEvent.ACTION_DOWN) 检查将为真,即使用户只是滚动也是如此。

关于android - 当我按下按钮时其他按钮如何禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787652/

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