0

我创建了一个使用套接字连接到我的服务器的应用程序。该服务器向手机发送一个信息字符串,手机使用 BufferedReader 读取此信息。现在我想在屏幕上显示这些信息(例如在文本框中),但 textbox.append 命令在这种情况下不起作用。没有错误,但在运行时它不会将字符串添加到文本框中。对 textviews 进行了同样的尝试。这里是这段代码的一部分。在连接过程中调用 commands() 函数,并在开头声明变量。

public void commands() throws Exception{

Responce = buffer.readLine();
final TextView textViewToChange = (TextView) findViewById(R.id.textView1);
textViewToChange.setText(Responce);

commands(); }

如果有人知道如何解决这个问题会很好。谢谢 :)

4

2 回答 2

1

android 中的 UI 不能从另一个线程更新。看着

 AsyncTask

请阅读此内容 Ui 更新 Android

于 2013-04-18T13:14:40.767 回答
1

您需要在主 UI 线程上更新 UI。您可以使用 runOnUiThread 如下。

  runOnUiThread(new Runnable() //run on ui thread
                 {
                  public void run() 
                  {       
                      textViewToChange.setText(Responce);
                 }
                 });
于 2013-04-18T13:16:52.407 回答