0

我试图能够在不先按下按钮 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();
               }
              });


        }


});

}
      };

xml

<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" />

<

4

2 回答 2

2

用这个

@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();
        }
    });
}
于 2012-12-16T01:01:01.010 回答
1
    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();
        }
    });

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

于 2012-12-16T00:59:10.157 回答