Android 你永远不会接到电话

Android 你永远不会接到电话,android,button,ontouchlistener,Android,Button,Ontouchlistener,所以我试着让我的按钮改变它的图像,当我按下按钮时,它会正确地改变,当我抬起按钮时,动作会被调用。。。然而,当动作“向下”被调用时,我将手指从按钮外移开并抬起,动作“向上”仍然被调用。它应该将图像设置回正常状态,而不执行其他操作 twitterBtn.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent

所以我试着让我的按钮改变它的图像,当我按下按钮时,它会正确地改变,当我抬起按钮时,动作会被调用。。。然而,当动作“向下”被调用时,我将手指从按钮外移开并抬起,动作“向上”仍然被调用。它应该将图像设置回正常状态,而不执行其他操作

twitterBtn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent touchEvent) {
                switch(touchEvent.getAction())
                {
                    case MotionEvent.ACTION_DOWN:
                        twitterBtn.setBackgroundResource(R.drawable.logintwittertouched);
                        return true;
                    case MotionEvent.ACTION_CANCEL:
                        twitterBtn.setBackgroundResource(R.drawable.logintwitter);
                        return true;
                    case MotionEvent.ACTION_UP:
                        twitterBtn.setBackgroundResource(R.drawable.logintwitter);
                        try {
                            adapter.authorize(MainActivity.this, Provider.TWITTER);
                            dialog = ProgressDialog.show(MainActivity.this, "", "Connecting to Twitter", true);
                        } catch (Exception e) {
                            Log.v(getString(R.string.clickrerr), "" + e.toString());
                        }
                    return true;
                }
                return false;

            }

        });
在XML中执行此操作:

  • 创建
    res/drawable/twitter\u button.xml

  • 在XML中执行此操作:

  • 创建
    res/drawable/twitter\u button.xml


  • 然后回到我的onClick方法?我不太理解你的问题,但是是的,你可以在
    中使用例如
    android:onClick=“yourMethod”
    。或
    按钮。setOnClickListener()
    。也许也会帮助你。对。。。我之所以使用onTouch,是因为我无法实现XML所说的它将要实现的功能,因为我还没有测试,我已经将我的setOnTouchListener替换回setOnClickListener了。我会接受一次测试和工作。谢谢你的帮助!编写一个onTouchListener要容易得多。再次感谢。然后回到我的onClick方法?我不太理解你的问题,但是是的,你可以在
    中使用例如
    android:onClick=“yourMethod”
    。或
    按钮。setOnClickListener()
    。也许也会帮助你。对。。。我之所以使用onTouch,是因为我无法实现XML所说的它将要实现的功能,因为我还没有测试,我已经将我的setOnTouchListener替换回setOnClickListener了。我会接受一次测试和工作。谢谢你的帮助!编写一个onTouchListener要容易得多。再次感谢。
    <item android:drawable="@drawable/twitter_button_on" android:state_pressed="true"/>
    <item android:drawable="@drawable/twitter_button_off"/>
    
    android:background="@drawable/twitter_button"