@first Извините за мой плохой английский.
Я создал собственного слушателя. Я хочу изменить TextView, когда Listener вызывается в MainActivity из Сервиса. Идея моей Listener от:Собственное прослушивание изменений UI-Thread в Android
http://tseng-blog.nge-web.net/blog/2009/02/17/how-implement-your-own-listener-android-java/
В примере кода TriggerMethod() IST вызывается из расчета Thread, работает в службе. Я решил проблему, но считаю, что это не очень приятно, потому что в каждой новой операции я должен создать новый поток. Возможно ли создать интерфейс/прослушиватель, который автоматически может изменить пользовательский интерфейс?
Используется для решения проблемы:
http://developer.android.com/guide/components/processes-and-threads.html
ResultListener.java:
public interface ResultListener {
public void onResultAvailable(double result);
}
SimuService.java:
public class SimuService extends Service {
private ResultListener mResultListener = null;
public void setResultListener(ResultListener listener){
mResultListener=listener;
}
public void triggerMethode(){
observeResultDouble=getObserveDouble;
mResultListener.onResultAvailable(observeResultDouble);
}
MainActivity:
public class MainActivity extends FragmentActivity{
TextView txtView;
ResultListener mResultListener;
SimuService mSimuService;
protected void onCreate(Bundle savedInstanceState) {
txtView = (TextView) findViewById(R.id.txtServiceTime);
//Create Service .....an Bind
mResultListener = new ResultListener() {
@Override
public void onResultAvailable(double result) {
txtView.setText("Result: "+result);
}
};
mSimuService.setResultListener(mResultListener);
}
МОЕ РЕШЕНИЕ:
ResultListener = new ResultListener() {
@Override
public void onResultAvailable(double result) {
this.result=result;
runOnUiThread(setNewDataToUI);
}
};
private Thread setNewDataToUI = new Thread(new Runnable() {
@Override
public void run() {
txtView.setText("Result: "+result);
}
});
ОК. Мне нужно изменить связь между Сервисом и Деятельностью. Я считаю, что эта ссылка решит мою проблему: http://stackoverflow.com/questions/4908267/communicate-with-activity-from-service-localservice-android-best-practices Спасибо за ваш ответ. – Tobias