Как позвонить Главная тема из вторичной темы на Android?Call Главная тема от вторичной темы в Android
ответ
Самый простой способ вызвать runOnUiThread (...) из вашего потока
activity.runOnUiThread(new Runnable() {
public void run() {
... do your GUI stuff
}
});
как насчет через java? – jonney 2014-04-24 11:15:47
Моя рекомендация об обмене потоками в том же процессе - отправка сообщений между этими потоками. Это очень легко справиться с этой ситуацией с помощью обработчиков:
http://developer.android.com/reference/android/os/Handler.html
Пример использования, от Android документации для обработки дорогие работы из Ui резьбы:
public class MyActivity extends Activity {
[ . . . ]
// Need handler for callbacks to the UI thread
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateResults = new Runnable() {
public void run() {
updateResultsInUi();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
[ . . . ]
}
protected void startLongRunningOperation() {
// Fire off a thread to do some work that we shouldn't do directly in the UI thread
Thread t = new Thread() {
public void run() {
mResults = doSomethingExpensive();
mHandler.post(mUpdateResults);
}
};
t.start();
}
private void updateResultsInUi() {
// Back in the UI thread -- update our UI elements based on the data in mResults
[ . . . ]
}
}
Спасибо! Работает как шарм !! : D – 2013-11-22 04:36:41
Вы будете нуждаться в Handler
, который передает информацию обратно в основной поток.
Кроме того, это хорошо, чтобы помнить, что если вы получите ваш вторичный поток через AsyncTask, у вас есть возможность позвонить onProgressUpdate() , onPostExecute(), и т.п., для работы на основной нити.
Пример кода с использованием HandlerThread
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Handler responseHandler = new Handler(Looper.getMainLooper()){
@Override
public void handleMessage(Message msg) {
//txtView.setText((String) msg.obj);
Toast.makeText(MainActivity.this,
"Result from UIHandlerThread:"+(int)msg.obj,
Toast.LENGTH_LONG)
.show();
}
};
HandlerThread handlerThread = new HandlerThread("UIHandlerThread"){
public void run(){
/* Add your business logic to pupulate attributes in Message
in place of sending Integer 5 as in example code */
Integer a = 5;
Message msg = new Message();
msg.obj = a;
responseHandler.sendMessage(msg);
System.out.println(a);
}
};
handlerThread.start();
}
}
Пояснение:
В приведенном выше примере,
HandlerThread
опубликоватьMessage
наHandler
УИ тему, который был инициализирован сLooper
УИ тему.final Handler responseHandler = new Handler(Looper.getMainLooper())
responseHandler.sendMessage(msg);
посылаетMessage
отHandlerThread
к UI ТемаHandler
.handleMessage
процессыMessage
полученные поMessageQueue
и показаны тосты на тему пользовательского интерфейса.
- 1. Android Главная Тема Looper концерн
- 2. GWT- главная тема CSS
- 3. Главная тема и текущая тема
- 4. Открытая тема/тема Темы
- 5. Runtime Change Тема для Android темы
- 6. Запуск вторичной темы для вывода в C++
- 7. Главная Nav Цвет в Luna Тема
- 8. Тема, ожидающая другой темы
- 9. Тема, создающая еще Темы
- 10. Детская тема детской темы
- 11. тема относительно темы POSIX
- 12. Yii2 - Тема вопроса темы
- 13. Тема/класс темы в php
- 14. Wordpress ребенка тема - главная тема Удалить Javascript файл
- 15. Тема приложения меняется в зависимости от темы windows
- 16. Отзывчивая тема для просмотра темы
- 17. Тема вопроса выравнивания темы Wordpress
- 18. Главная кнопка в android?
- 19. Тема синтаксиса Vim; другое поведение от .vimrc/colo call
- 20. Android call notifyDataSetChanged от AsyncTask
- 21. Холодная тема темы не установлена на кнопку
- 22. Тема не принимает файл формата сообщения от дочерней темы
- 23. ребенка тема не загружается весь стиль от родительской темы
- 24. Основная тема в Android
- 25. Пользовательская тема макета в android
- 26. блоков темы основная тема в Рубине 1,9
- 27. Android Тема для таймера
- 28. Как окно Thread из Visual Studio Определение «Главная тема»
- 29. Тема/стиль приложения для Android Android
- 30. Тема на Java/Android
Просьба уточнить, что вы пытаетесь сделать. – 2010-12-08 14:15:14