Android でボタンが押されると、setOnClickListener を使用して、ユーザーが指を離した後にコードを実行できます。押したらすぐにコードを実行するにはどうすればよいでしょうか?
質問する
390 次
3 に答える
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;
}
}))
于 2012-06-06T11:57:36.063 に答える
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;
}
});
于 2012-06-06T11:59:25.150 に答える
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!"
/>
于 2012-06-06T12:02:16.100 に答える