2011-12-20 2 views
0

У меня есть игровой цикл, запущенный в GLSurfaceView. Как только определенный список возвращает .isEmpty(), тогда цикл знает, что он не работает. Изменение логического значения достаточно простое, но я хочу, чтобы иметь возможность setText на кнопке в другом представлении (Это моя кнопка воспроизведения/паузы, и она должна вернуться в состояние воспроизведения или пользователь не сможет сказать разницу). К сожалению, я получаю вызов из неправильного исключения потока. Есть ли способ превзойти это. Я подумал, что возможно, чтобы активность, чтобы проверить, будет ли булеан регулярно работать, но я не уверен, что знаю, как это сделать.Влияние на другие виды

Вот некоторые части кода я до сих пор

if(mobDat.isEmpty()){ 
     MyLaunchActivity.stopPlaying(); 
    }else{ /*RenderStuff as Normal*/ } 

и метод stopPlaying()

public static void stopPlaying(){ 
    play.RemoveMobDat(); 
    //playbutton.setText("Play"); 
    playing = false; 
} 

код работает только, если удалить или закомментировать вызов setText()

ответ

0

Существует несколько альтернатив. Посмотрите на эту ссылку:

Вот две другие ссылки, которые описывают ту же самую основную технику:

+0

будет вызов функции startActivity (bob); 'перезапустите действие. Мне так важно это сделать? – Jack

+0

Нет. Я считаю, что ключевая вещь: 1) передать «пакет» каждому действию, а затем 2) использовать «намерения» для передачи сигналов между действиями – paulsm4

+0

Простите, что я не разъяснял это раньше, но есть только одно действие и один поток (сообщение должно перейти от потока к активности) в этом приложении. должно ли это работать? – Jack

Смежные вопросы