Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
fu11noob
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 14
1

Ошибка при при смене активити

08.06.2015, 17:46. Просмотров 426. Ответов 7
Метки нет (Все метки)

Была проблема с проигрыванием музыки при сворачивании приложения, я решил ее методом ниже
Java
1
2
3
4
5
6
7
 @Override
    protected void onStop()
    {
        if(mp.isPlaying()){mp.stop();}
        else if(mp1.isPlaying()){mp1.stop();}
        super.onStop();
    }
теперь музыка не играет при сворачивании приложения, но при возврате на активити, где используется этот метод
вылетает ошибка, указывающая на 1е или 2е условие. Что собственно не так?
Кликните здесь для просмотра всего текста

06-08 10:32:31.004: E/AndroidRuntime(1187): java.lang.RuntimeException: Unable to stop activity {com.itmhnadu.viktorina/com.itmhnadu.viktorina.MainActivity}: java.lang.NullPointerException
06-08 10:32:31.004: E/AndroidRuntime(1187): Caused by: java.lang.NullPointerException
06-08 10:32:31.004: E/AndroidRuntime(1187): at com.itmhnadu.viktorina.MainActivity.onStop(MainActivity.java:464)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2015, 17:46
Ответы с готовыми решениями:

Сохранение набранного в EditText текста при смене активити
Добрый день, подскажите как сделать чтобы при смене активити текст в EditText...

Ошибка при вызове активити
Всем доброго времени суток. Столкнулся вот с такой проблемой, не могу вызвать...

Ошибка при смене Context
Доброго времени суток! Делаю простую рисовалку. При попытке смены контекста...

Ошибка при смене toolbar
Имеется тулбар <android.support.v7.widget.Toolbar...

При переходе между активити возникает ошибка
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Дело в том,...

7
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,732
09.06.2015, 19:11 2
fu11noob, непонятно, почему два проигрывателя, когда обычно один. Что у вас написано в onResume, onCreate или onStart?
0
fu11noob
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 14
09.06.2015, 20:08  [ТС] 3
1й раз работаю с проигрывателями, поэтому и 2.
Java
1
2
3
4
5
6
7
8
  @Override
    protected void onResume()
    {
        if(a1>=0 && a1<=4){mp.reset();mp=MediaPlayer.create(MainActivity.this, R.raw.q1_5fon);mp.setLooping(true);mp.start();}
        else if(a1>4 && a1<=9){mp.reset();mp=MediaPlayer.create(MainActivity.this, R.raw.q6_10fon);mp.setLooping(true);mp.start();}
        else if(a1>9 && a1<=14){mp.reset();mp=MediaPlayer.create(MainActivity.this, R.raw.q11_15fon);mp.setLooping(true);mp.start();}
        super.onResume();
    }
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);     
        setContentView(R.layout.activity_main);     
        Intent intent= getIntent();     
        r=intent.getIntExtra("fifty",n);        
        textView1=(TextView)findViewById(R.id.textView1);   
        textview[0]=(TextView)findViewById(R.id.textView2);
        textview[1]=(TextView)findViewById(R.id.textView3);
        textview[2]=(TextView)findViewById(R.id.textView4);
        textview[3]=(TextView)findViewById(R.id.textView5);
        textview[4]=(TextView)findViewById(R.id.textView6);
        textview[5]=(TextView)findViewById(R.id.textView7);
        textview[6]=(TextView)findViewById(R.id.textView8);
        textview[7]=(TextView)findViewById(R.id.textView9);
        textview[8]=(TextView)findViewById(R.id.textView10);
        textview[9]=(TextView)findViewById(R.id.textView11);
        textview[10]=(TextView)findViewById(R.id.textView12);
        textview[11]=(TextView)findViewById(R.id.textView13);
        textview[12]=(TextView)findViewById(R.id.textView14);
        textview[13]=(TextView)findViewById(R.id.textView15);
        textview[14]=(TextView)findViewById(R.id.textView16);       
        textView19=(TextView)findViewById(R.id.textView19); 
        button[0]=(Button)findViewById(R.id.button1);
        button[1]=(Button)findViewById(R.id.button2);
        button[2]=(Button)findViewById(R.id.button3);
        button[3]=(Button)findViewById(R.id.button4);
        button[4]=(Button)findViewById(R.id.button5);
        button[5]=(Button)findViewById(R.id.button6);
        button[6]=(Button)findViewById(R.id.button7);
        button8=(Button)findViewById(R.id.button8);             
        button8.setOnClickListener(this);
        for(int i=0;i<button.length;i++)
        {
            button[i].setOnClickListener(this);
        }       
        textView1.setTextColor(Color.WHITE);
        textView19.setTextColor(Color.TRANSPARENT);     
        openFile(FILENAME);
        if(a1>=0 && a1<=4){mp=MediaPlayer.create(MainActivity.this, R.raw.q1_5fon);mp.setLooping(true);mp.start();}
        else if(a1>4 && a1<=9){mp=MediaPlayer.create(MainActivity.this, R.raw.q6_10fon);mp.setLooping(true);mp.start();}
        else if(a1>9 && a1<=14){mp=MediaPlayer.create(MainActivity.this, R.raw.q11_15fon);mp.setLooping(true);mp.start();}

собственно mp1 у меня играет в некотором промежутке времени(пару секунд) когда mp на паузе
0
androbro
343 / 303 / 68
Регистрация: 17.10.2014
Сообщений: 898
09.06.2015, 21:00 4
fu11noob,
2
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,732
09.06.2015, 21:35 5
fu11noob, спасибо , под столом
А где инициализация mp1?
0
fu11noob
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 14
09.06.2015, 21:39  [ТС] 6
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  void fiftysound()
    {
        mp.pause();
        mp1=MediaPlayer.create(MainActivity.this, R.raw.x5050);
        Log.d(TAG,""+mp1.getDuration());
        timer=new CountDownTimer(mp1.getDuration(), 1) 
     {    
        @Override
        public void onTick(long millisUntilFinished) 
        {
            mp1.start();
        }
        public void onFinish() 
        {  
            mp1.pause();
            mp.start();
        }           
     }.start();
    }
я понимаю что смешно и т.д
но по существу может ли эта проблема быть из-за наличия 2го проигрывателя?
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,732
09.06.2015, 21:52 7
fu11noob, честно говоря, не знаю. Не пробовал использовать 2 проигрывателя да и примеров таких не встречал. Может быть, так и можно, но не нужно. По идее, достаточно одного проигрывателя, на вход которому подаётся источник аудиоданных. Вы звук берёте из ресурсов программы? Я пока делал только с URL, но в вашем случае должно быть проще. Если вам надо будет переключаться между композициями, надо будет запоминать положение проигрывателя (в миллисекундах) и потом его восстанавливать для каждой композиции.

Добавлено через 2 минуты
Если умеете работать с Debug, попробуйте запустить отладку.
Кстати, что у вас написано в строке MainActivity.java:464? Я так понял, там один из объектов == null.
0
fu11noob
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 14
09.06.2015, 22:02  [ТС] 8
Да, из ресурсов.
Спасибо, буду разбираться.
За комментарии по поводу 2х проигрывателей отдельное спасибо, учту на будущее что нужно использовать 1.
464(465) строка это одно из условий
Java
1
2
if(mp.isPlaying()){mp.stop();}
else if(mp1.isPlaying()){mp1.stop();}
0
09.06.2015, 22:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 22:02

Ошибка при смене цвета кнопки в потоке
Сделал поток Thread DowloadThread = new Thread(new Runnable() { ...

Handler при пересоздании активити
У меня есть поток Thread, который запускается во фрагменте и получает ссылку на...

Вылет при переходе на второй активити
Подключал библиотеку android-support-v7-appcompat, но на неё, кажется, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru