0

Android でボタンが押されると、setOnClickListener を使用して、ユーザーが指を離した後にコードを実行できます。押したらすぐにコードを実行するにはどうすればよいでしょうか?

4

3 に答える 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 に答える