我有一些有onclicklistener的imageview.如果我按下一个(不是发布),我可以按其他人或我可以同时点击它们.我不想要这个.每当我按下其中一个时,其他人应该禁用点击. imageview1.setOnClickListener(
imageview1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { getMethod(); } });
我想,我尝试了setClickable(false);但它没有正常工作,如果我点击一个按钮后,它工作.
尝试使用onTouchListener而不是onClickListener并调用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; } };
然后将其应用于图像视图:
imageView1.setOnTouchListener(onTouchListener);
这应该工作.但有一件事是,虽然你只能按一个按钮,但是你放手后也无法推动任何东西 – 但是,你可以通过添加一些逻辑来确定是否视图实际上被点击了或者如果用户触摸它,改变了主意并且滑走了.即使用户只是滚动,(event.getAction()== MotionEvent.ACTION_DOWN)检查也是如此.