Android - Button OnTouch事件更改了Button的焦点

时间:2012-08-04 20:29:28

标签: android

我有一个带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改变其焦点:

http://www.youtube.com/watch?v=MRVFpNrBmsA&feature=youtu.be

1 个答案:

答案 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,否则就意味着事件没有得到处理而且会被卡住。