Android:按钮二不会播放声音,除非你先按下按钮一



我正在尝试能够在不先按下按钮 1 的情况下按下按钮 2 以使其播放声音。这是我的代码。因此,如果我按下按钮 2,则在按下按钮 1 之前不会播放声音

@Override
protected void onCreate(Bundle LiamIsTheBest) {
    // TODO Auto-generated method stub
    super.onCreate(LiamIsTheBest);
    setContentView(R.layout.liam);

    Button boton = (Button) findViewById(R.id.button1);
     boton.setOnClickListener(new View.OnClickListener() {
       @Override
        public void onClick(View v) { // onClick Method
        // Your Onclick Action Here
            MediaPlayer mp = MediaPlayer.create( MainActivity.this, R.raw.eat);  
              mp.start();
              Button play = (Button) findViewById(R.id.button2);
              play.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.play);  
                mp.start();
               }
              });

        }

});
}
      };

目录

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="I want to eat" />
<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="I want to play" />

<

使用这个

@Override
protected void onCreate(Bundle LiamIsTheBest) {
    super.onCreate(LiamIsTheBest);
    setContentView(R.layout.liam);

    Button boton = (Button) findViewById(R.id.button1);
    boton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaPlayer mp = MediaPlayer.create( MainActivity.this, R.raw.eat);  
            mp.start();
        }
    });
    Button play = (Button) findViewById(R.id.button2);
    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.play);  
            mp.start();
        }
    });
}
    Button boton = (Button) findViewById(R.id.button1);
    Button play = (Button) findViewById(R.id.button2);
    boton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) { // onClick Method
            // Your Onclick Action Here
            MediaPlayer mp = MediaPlayer.create(MainActivity.this,
                    R.raw.eat);
            mp.start();
        }
    });
    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            MediaPlayer mp = MediaPlayer.create(MainActivity.this,
                    R.raw.play);
            mp.start();
        }
    });

您正在声明播放按钮并在第一个按钮的onClick()内设置OnClickListener。您应该首先声明它们并单独设置OnClickListener;提示: 如果您使用的是 eclipse,请按 ctrl+shift+f 设置代码格式,以便知道括号应该在哪里。

最新更新