【发布时间】:2017-05-26 07:31:34
【问题描述】:
我有 2 个按钮。这就是我正在做的:
- 我按下按钮 1
- 然后我将手指移到按钮 2
- 我松开按钮 2
我为 2 个按钮设置了触摸监听器。它正在记录两个按钮的触摸事件:
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:向上
如您所见,按钮 2 没有获得触摸事件。
问题:如何按下第一个按钮,释放第二个按钮并在第二个按钮上获取触摸事件?
【问题讨论】:
标签: android button ontouchlistener