2016-07-14 5 views
1

SignalR을 사용하여 SignalR 연결을 제어하려고합니다. 나는 서비스 이런 식으로 시작 주요 활동에Observer가 SignalR 객체를 듣고 있지만 Editext를 설정할 때 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); 

반환 : 연결이 주요 활동에서 관찰 가능한 작품 벌금과 화재 관찰자에있을 때

Intent intent = new Intent(); 
    intent.setClass(mContext, RealTime.class); 
    bindService(intent, mConnection, Context.BIND_AUTO_CREATE); 

그것은 관찰자 (갱신)에 모델 클래스를 수신을하지만, txtChatMessage.setText()를 시도하면 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); 
    } 
} 

주 스레드, UI 스레드 및 다른 방법으로 시도하지만 모든보기 구성 요소는 null입니다. 서비스없이 그냥 신호기를 사용하면 관찰자가 정상적으로 작동합니다. 그래서, 누구든지 나를 도울 수 있습니까?

미리 감사드립니다.

답변

0

나는 마침내 내 문제를 해결했다, 그것은 관찰자 였고, 방금 BroadcastReceiver로 변경되었습니다!