如何在android中按下一个处于按下状态的按钮

时间:2012-09-05 05:22:07

标签: android button android-widget

我的问题类似于发布的问题here。我希望Android按钮保持按下状态。我无法按照提供的解决方案,因为当通过键盘或轨迹球按下按钮时将调用onClick,我需要处理它。

我尝试在button.setPressed(true);回调中设置onClick,但似乎无效。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

试试这个它会起作用......

singIn.setOnTouchListener(new OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if(event.getAction()==MotionEvent.ACTION_DOWN) return true;
                    if(event.getAction()!=MotionEvent.ACTION_UP) return false;

                  //DO SOMETHING!!

                    singIn.setPressed(true);                    
                    return true;
                }


            });

答案 1 :(得分:1)

尝试向按钮发送触摸事件,如下所示:

MotionEvent down = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0);
yourButton.dispatchTouchEvent(down);