2016-03-31 82 views
0

我想通過套接字從服務器接收後,在一個textView中的字符串,我試試這個,但它仍然無法正常工作。Android的使字符串在textview通過套接字恢復

socket.on("message", new Emitter.Listener() { 

     @Override 
     public void call(Object... args) { 
      String data = (String) args[0]; 
      TextView text = (TextView) findViewById(R.id.text); 
      text.setText(data); 
     } 

PS:我可以顯示字符串到日誌控制檯。

回答

0

與您的代碼被從Activity內運行的假設下,嘗試改變call看起來像這樣:

@Override 
public void call(Object... args) { 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       String data = (String) args[0]; 
       TextView text = (TextView) findViewById(R.id.text); 
       text.setText(data); 
      } 
     }); 
} 

Here是一些更多的閱讀關於runOnUiThread

+0

它的工作現在感謝 – yassine

0

您可以使用此:

text.post(new Runnable() { 
    text.setText(data); 
});