Android 如何按下第一个按钮,释放第二个按钮并获取第二个按钮的触摸事件?
我有两个按钮。这就是我正在做的:Android 如何按下第一个按钮,释放第二个按钮并获取第二个按钮的触摸事件?,android,button,ontouchlistener,Android,Button,Ontouchlistener,我有两个按钮。这就是我正在做的: 我按下按钮1 然后我将手指移到按钮2 我打开按钮2 我为2个按钮设置了触摸监听器。它记录两个按钮的触摸事件: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
button1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Log.d("ButtonTouchTag", "Button 1: DOWN");
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
Log.d("ButtonTouchTag", "Button 1: MOVE");
} else if (event.getAction() == MotionEvent.ACTION_UP) {
Log.d("ButtonTouchTag", "Button 1: UP");
}
return true;
}
});
button2.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Log.d("ButtonTouchTag", "Button 2: DOWN");
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
Log.d("ButtonTouchTag", "Button 2: MOVE");
} else if (event.getAction() == MotionEvent.ACTION_UP) {
Log.d("ButtonTouchTag", "Button 2: UP");
}
return false;
}
});
}
}
此代码记录以下信息:
- 按钮1:向下
- 按钮1:移动
- 按钮1:移动
- 李>
- 按钮1:移动
- 按钮1:移动
- 按钮1:向上
button2.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Log.d("ButtonTouchTag", "Button 2: DOWN");
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
Log.d("ButtonTouchTag", "Button 2: MOVE");
} else if (event.getAction() == MotionEvent.ACTION_UP) {
Log.d("ButtonTouchTag", "Button 2: UP");
}
return true;
}
});
它应该返回true。我尝试了这个,但没有帮助。我认为布尔值标识是否应该调用onClick方法?你返回的是false而不是true。是检查了我的代码,检查了你的代码。没有区别。我认为问题应该出现在另一个
按钮2上。setOnTouchListener
它应该返回true,而u编写的返回false代码>