2016-03-31 42 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); 
});