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
:
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"