Ich versuche Signaler mit Dienstklasse zu verwenden, um Signalverbindungen zu steuern. Wenn die Verbindung aktiviert ist, beobachtbare funktioniert gut und Feuer Beobachter Haupttätigkeit:SignalR-Objekt hört von Observer, aber beim Versuch, Editext zu setzen, ist es null
mHubProxy.on("onConnected",
new SubscriptionHandler1<MessageReceived>() {
@Override
public void run(final MessageReceived msg) {
mHandler.post(new Runnable() {
@Override
public void run() {
Calendar calendar = new GregorianCalendar();
calendar.getTime();
Log.i("script","onConnected: " + calendar.getTime()+ " context: " + getApplicationContext());
observableTask.setMessageReceived(msg);
}
});
}
}
, MessageReceived.class);
Rückkehr zur Hauptaktivität, die ich Dienst auf diese Weise begonnen:
Intent intent = new Intent();
intent.setClass(mContext, RealTime.class);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
Er empfängt Modellklasse in Observer (Update), aber Wenn es versucht, txtChatMessage.setText() zu versuchen, ist es null!
@Override
public void update(Observable observable, Object data) {
messageReceived = (ObservableTask) observable;
try {
txtChatMessage = (EditText) findViewById(R.id.txtChatMessage);
txtChatMessage.setText(messageReceived.getMessageReceived().Sender);
Calendar calendar = new GregorianCalendar();
calendar.getTime();
Log.i("script", "update runOnUiThread: " + calendar.getTime() + " context: ");
} catch (Exception e) {
String error = e.getMessage();
Log.i("script", "update Exception: " + error);
}
}
Ich versuche Hauptthread, UI-Thread und andere Möglichkeiten, aber alle Ansichtskomponenten sind null. Wenn ich nur Signalgeber ohne Service benutze und Beobachter gut funktioniert. Also kann mir jeder helfen?
Vielen Dank im Voraus.