能够互相拥有多个onTouch方法吗?

时间:2013-02-01 00:10:39

标签: android override ontouchlistener

startButton有一个onTouchListener,当按下它时,启动媒体播放器(我的源中的mp)并使相同的按钮具有停止功能。

例如: 用户点击开始按钮并播放音乐。然后用户点击相同的按钮(现在具有“停止”的setText)以停止音乐播放器。

是否可以在方法中包含多个onTouchListener?

startButton.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {

                mp.start();
                timeLeft.setText("Status: Initiated");
                startButton.setText("Stop Dreaming");

                startButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View arg0) {
                        mp.stop();

                    }

                });

这就是我现在所拥有的......我如何才能正确设置?

1 个答案:

答案 0 :(得分:0)

我建议你使用切换按钮来完成这项工作:

public void onToggleClicked(View view) {
    // Is the toggle on?
    boolean on = ((ToggleButton) view).isChecked();

    if (on) {
        mp.start();
            timeLeft.setText("Status: Initiated");
            startButton.setText("Stop Dreaming");
    } else {
        mp.stop();
    }
}

此处有关切换按钮的详细信息:http://developer.android.com/guide/topics/ui/controls/togglebutton.html