在Android中按下按钮时,您可以使用setOnClickListener在用户抬起手指后执行代码。如何在按下后立即执行代码?
答案 0 :(得分:2)
使用setOnTouchListener
方法:
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN)
//do what you wish to
return false;
}
}))
答案 1 :(得分:0)
findViewById(R.id.myButton).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if(arg1.getAction() == MotionEvent.ACTION_DOWN){
//do something funny
}
return true;
}
});
答案 2 :(得分:0)
您可以尝试这样的事情:
public class DownTouchButton extends Button implements OnTouchListener {
private DownTouchButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private DownTouchButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private DownTouchButton(Context context) {
super(context);
init();
}
private void init() {
setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch(action){
case MotionEvent.ACTION_DOWN:
Log.d("YourApp", "A down event");
break;
default:
break;
}
return false;
}
}
然后在你的xml中:
<com.your.package.DownTouchButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Down Press Me!"
/>