我有一个带10个按钮的应用程序。每次用户按下一个按钮时TextView应该改变。如果用户改变了焦点,并且手指向右移动到下一个按钮(不将手指从屏幕上移开),则应该聚焦旁边按钮。
我尝试将OnTouchListner设置为所有按钮,但一旦移动手指,焦点仍然停留在第一个按钮上:
btn1.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
txt1.settext("1");
return false;
}
});
我希望你明白我的意思,并能帮助我。
由于
编辑:
我找到了一个应用程序,这是一个视频,所以你可以想象我的意思。 注意我如何移动鼠标(在这种情况下为手指),并且Boxes改变其焦点:
答案 0 :(得分:-1)
要从onTouch()开始,你应该处理事件......
像
这样的东西 public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_HOVER_ENTER) {
txt1.settext("1");
} else if(event.getAction() == MotionEvent.ACTION_HOVER_EXIT){
txt1.settext("0");
}
return true;
}
不确定这些是否是要检查的正确行动,但这只是提出想法。
另外我相信你应该返回true,否则就意味着事件没有得到处理而且会被卡住。