Android - вызов пользовательского потока из рабочего потока
Привет я хочу сделатьToast
доступны для меня независимо от того, что и из любого потока, когда мне нравится в моем приложении. Так что для этого я продлилActivity
учебный класс:
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Toast;
public class MyActivity extends Activity{
private Handler mHandler;
@Override
public void onCreate(Bundle savedInstanceState) {
mHandler = new Handler();
super.onCreate(savedInstanceState);
}
private class ToastRunnable implements Runnable {
String mText;
public ToastRunnable(String text) {
mText = text;
}
public void run(){
Toast.makeText(getApplicationContext(), mText, Toast.LENGTH_SHORT).show();
}
}
public void doToast(String msg) {
mHandler.post(new ToastRunnable(msg));
}
}
чтобывсе Activity
классы в моем приложении теперь просто
public class AppMain extends MyActivity {
//blah
}
то, что я ожидал (в рабочем потоке), было так:
try{
MyActivity me = (MyActivity) Looper.getMainLooper().getThread();
me.doToast("Hello World");
}
catch (Exception ex){
Log.e("oh dear", ex.getMessage());
}
и до тех пор, покаActivity
был ""MyActivity
это должно работать - но проблема ---> Looper.getMainLooper().getThread();
ISN»возвращениеMyActivity
для меня и этозаставляет меня плакать - что я делаю не так?
: РЕДАКТИРОВАТЬ :
некоторый фон, чтобы объяснитьЗачем" Я застрял с этим типом внедрения.
Я должен быть в состоянии подтвердить пользователю, что "HTTP POST " Мероприятие прошло успешно. Сейчас. Если Пользователь нажимает "ХОРОШО" в форме пользовательского интерфейса он МОЖЕТ или МОЖЕТ не иметь Интернет в то время. Если у него есть Интернет - все хорошо - он отправляет форму через HTTP POSTвсе хорошо.. но если естьБез интернета большинство (99,999% Android-приложений при этом жалко / жалко / мучительно, и в основном не предлагают пользователюПлан б" при условии, что интернет всегда есть - когда его нет)
Мое приложение не будет "иди хромой (как я это называю) - у него естьПлан б" вместо этогоОчереди» событие post и повторяется каждые x минут .. теперь это фоновый поток в фоновом режиме .. у меня много приложений для взаимодействия со всеми приложениями, я нене знаю, где пользователь будет "быть" но в конце концов, когда HTTP POST, который возвращает очередь / повторы / очередь / повторы "! Успех! " я бы хотелToast
это как сообщение пользователю (например:Ваша форма была отправлена ")