【问题标题】:Android is confusing the functions of 3 different buttonsAndroid混淆了3个不同按钮的功能
【发布时间】:2015-11-07 22:15:56
【问题描述】:

我目前正在制作一个可以播放音乐的应用。

将有多项活动,每首歌曲一项。每个屏幕通常有 3 个按钮:一个用于播放/暂停音乐,一个用于转到上一页,一个用于转到下一页。

目前,Android 对哪些按钮应该做什么感到困惑。当我单击“播放音乐”按钮时,该应用程序会尝试将我带到下一个屏幕。当我单击“下一页”按钮时,它会将我带到上一页。当我单击“最后一页”按钮时,它会播放/暂停歌曲。

这是我用于相关活动的 java 代码。

package net.jacksonhamilton.calmingmusic;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class Rush extends Activity {

    Button btnRush, btnRushtoCivil, btnRushtoNeil;
    MediaPlayer tomsawyer;
    int playing;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rush);
        btnRush = (Button) findViewById(R.id.btnRush);
        btnRushtoCivil = (Button) findViewById(R.id.btnRushtoCivil);
        btnRushtoNeil = (Button) findViewById(R.id.btnRushtoNeil);
        btnRush.setOnClickListener(btRush);
        btnRushtoCivil.setOnClickListener(btRushtoCivil);
        btnRushtoNeil.setOnClickListener(btRushtoNeil);
        tomsawyer = new MediaPlayer();
        tomsawyer = MediaPlayer.create(this, R.raw.tomsawyer);
        playing = 0;

        // TODO Auto-generated method stub
    }
    Button.OnClickListener btRush = new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (playing) {
                case 0:
                tomsawyer.start();
                playing = 1;
                btnRush.setText("Pause 'Tom Sawyer', by Rush");
                break;
                case 1:
                tomsawyer.pause();
                playing = 0;
                btnRush.setText("Play 'Tom Sawyer', by Rush");
                break;
            }
        }
    };
    Button.OnClickListener btRushtoCivil = new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            tomsawyer.stop();
            startActivity(new Intent(Rush.this, Splash.class));
        }

    };
    Button.OnClickListener btRushtoNeil = new Button.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            tomsawyer.stop();
            startActivity(new Intent(Rush.this, Neilyoung.class));
        }

    };
}

我已经检查了 XML 布局文件中的 ID,包括图形和代码。所有按钮都分配有正确的 ID 和正确的字符串值(用于按钮上的文本)。

我将应用设置为最低要求 SDK15,并且它针对的是 SDK19。它也是用 SDK19 编译的。

如果重要的话,我正在 Eclipse Mars 中开发应用程序。

如果您想查看该应用以供参考,here is a picture of the Activity.

【问题讨论】:

  • 可能只需要清理项目。 (同样,不相关,但 Eclipse 不推荐用于 android 开发)
  • 我会使用 Android Studio,但我正在学习的课程使用的是使用 Eclipse 的教科书。当我能够进行直接比较时,它会更容易做到。
  • 代码不变,只有IDE

标签: java android button android-activity


【解决方案1】:

您一定是在布局文件中弄乱了一些东西,或者您可能正在运行某个旧版本的应用程序。在 Eclipse 中有时会发生它不会重新构建应用程序而是启动最后构建的版本。尝试从设备/模拟器中删除应用程序,重新启动模拟器,清理项目或重新启动 IDE。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多