Android: почему моя кнопка не воспроизводит свой звуковой эффект? - PullRequest
1 голос
/ 03 марта 2011

Первая кнопка работает нормально, но когда я нажимаю на вторую, ничего не происходит.Я не получаю никаких ошибок, я не вижу, что не так.

Sounds.java

package com.andrew.finnandjake;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Sounds extends Activity {
private SoundManager mSoundManager;

/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mSoundManager = new SoundManager();
    mSoundManager.initSounds(getBaseContext());
    mSoundManager.addSound(1, R.raw.finn_whatthejugisthat);

    Button b1 = (Button)findViewById(R.id.Button1);
    b1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            mSoundManager.playSound(1);


        }
    });
}
public void onCreate1(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mSoundManager = new SoundManager();
        mSoundManager.initSounds(getBaseContext());
        mSoundManager.addSound(2, R.raw.jake_dancingwithbabes);

        Button b2 = (Button)findViewById(R.id.Button2);
        b2.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                mSoundManager.playSound(2);
}
});
    }
}

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Вы не можете случайно создать метод, как вы делаете с onCreate1, он никогда не выполняется ни вами, ни вашим Activity.

Это все, что вам нужно:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);

   mSoundManager = new SoundManager();
   mSoundManager.initSounds(this);
   mSoundManager.addSound(1, R.raw.finn_whatthejugisthat);
   mSoundManager.addSound(2, R.raw.jake_dancingwithbabes);

   Button b1 = (Button)findViewById(R.id.Button1);
   b1.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
        mSoundManager.playSound(1);
      }
   });

   Button b2 = (Button)findViewById(R.id.Button2);
   b2.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
        mSoundManager.playSound(2);
      }
   });
}
1 голос
/ 03 марта 2011

Вы не назначаете слушателя onclick внутри фактического OnCreate. Это должно работать:

package com.andrew.finnandjake;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Sounds extends Activity {
private SoundManager mSoundManager;

/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mSoundManager = new SoundManager();
    mSoundManager.initSounds(getBaseContext());
    mSoundManager.addSound(1, R.raw.finn_whatthejugisthat);
    mSoundManager.addSound(2, R.raw.jake_dancingwithbabes);

    Button b1 = (Button)findViewById(R.id.Button1);
    b1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            mSoundManager.playSound(1);


        }
    });

    Button b2 = (Button)findViewById(R.id.Button2);
    b2.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            mSoundManager.playSound(2);
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...