2016-07-14 20 views
1

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.

Antwort

0

Ich habe endlich mein Problem gelöst, es war Beobachter, nur BroadcastReceiver geändert !!