Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
fu11noob
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 14
#1

Ошибка при при смене активити - Программирование Android

08.06.2015, 17:46. Просмотров 364. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при при смене активити (Программирование Android):

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

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

Ошибка при смене Context - Программирование Android
Доброго времени суток! Делаю простую рисовалку. При попытке смены контекста MainActivity с базового на свой (с рисованием) перестают...

Ошибка при смене toolbar - Программирование Android
Имеется тулбар <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" ...

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

Ошибка при смене цвета кнопки в потоке - Программирование Android
Сделал поток Thread DowloadThread = new Thread(new Runnable() { @Override public void run() { ...

7
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
326 / 287 / 61
Регистрация: 17.10.2014
Сообщений: 855
09.06.2015, 21:00 #4
fu11noob,
2
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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
Привет! Вот еще темы с ответами:

Handler при пересоздании активити - Программирование Android
У меня есть поток Thread, который запускается во фрагменте и получает ссылку на изображение с сервера(парсит JSON выделяет ссылку). И...

Сохранение данных при пересоздании активити - Программирование Android
Добрый день, может кто-то сталкивался: имеются данные, которые я хочу добавить как ArrayList, но столкнулся с проблемой - если менять...

ListView и мультивыбор при открытии активити - Программирование Android
Здравствуйте. Подскажите пожалуйста, можно ли при открытии активити со списком, в этом списке некоторые элементы отметить как выбранные? ...

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


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

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

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