Странная сила близко - PullRequest
       3

Странная сила близко

0 голосов
/ 07 января 2011

У меня есть одно основное занятие и XML-файл с 3 разными кнопками (три разных звука пистолета).

Таким образом, когда пользователь нажимает одну из кнопок, звучит звук оружия.вот как это выглядит -

public class gunstats extends Activity {

    public gunstats(Bundle onSavedStateInstance) {


        final MediaPlayer mp = MediaPlayer.create(this, R.drawable.deagle);

        Button button3 = (Button)this.findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.start();
            }
        });
    }
}

проблема в том, что когда я открываю приложение в эмуляторе, все силы закрываются.Когда я проверяю logcat, он говорит: «Причины: java.lang.InstantiationException: com.gunstats.gunstats»

Что вызывает это?

Ответы [ 3 ]

2 голосов
/ 07 января 2011

Это потому, что вы выполняете код в конструкторе. Вы не должны выполнять какой-либо код в конструкторе Activity. Вы должны переместить весь этот код в Activity#onCreate.

Вы должны очень хорошо ознакомиться с жизненным циклом Activity .

0 голосов
/ 07 января 2011

Другие отметили, что вы не следуете жизненному циклу Activity.
R.drawable.deagle ваш звуковой файл? Если это так, он не должен находиться в каталоге /drawable/. Переместите его куда-нибудь как /raw/.

Вот несколько примеров: Аудио и видео , Аудио демо

Вот документы для MediaPlayer

0 голосов
/ 07 января 2011

Это полный класс?Если это так:

  1. У действия нет конструктора (по крайней мере, вы никогда не должны его касаться)
  2. Вам необходимо реализовать метод onCreate()
  3. У вас нет местаустановить контент с помощью setContentView(R.layout.my_layout)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...