2

我想在按下按钮时打印一些东西(而不是在释放按钮之后)。目前我有这个,但它只能工作一次......

button.setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN) {
            System.out.println("pressed");
            return true;
        }
        return false;
    }
});
4

2 回答 2

5

System.out 在 Android 设备中不起作用(不会在设备上向您显示任何内容),如果您有文本视图,您可以MotionEvent.ACTION_DOWN像已经在做的那样在您的设备上设置文本,并在MotionEvent.ACTION_UP您设置您的文本文本视图为空。像这样的东西:

public class TestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        final TextView textView = (TextView) findViewById(R.id.textview);
        final Button button = (Button) findViewById(R.id.button);
        button.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN){
                    textView.setText("Button Pressed");
                }
                if(event.getAction() == MotionEvent.ACTION_UP){
                    textView.setText(""); //finger was lifted
                }
                return true;
            }

        });
    }

}
于 2012-06-27T16:55:37.417 回答
3

尝试此操作以在您按下时连续打印按下的消息。

button.setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
            System.out.println("pressed");
            return false;
    }
});
于 2012-06-27T16:53:18.290 回答