2013-04-18 72 views
0

我創建了一個使用套接字連接到我的服務器的應用程序。該服務器向手機發送信息字符串,該信息用BufferedReader讀取。 現在我想在屏幕上顯示這些信息(例如在文本框中),但在這種情況下textbox.append命令不起作用。 沒有錯誤,但在運行時不會將字符串添加到文本框。 嘗試與textviews相同。這裏是這段代碼的一部分。 在連接進程中調用commands()函數,並在開始時聲明變量。Android Java Textbox.append不能在新線程中工作

public void commands() throws Exception{ 

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

commands(); } 

如果有人知道如何解決這個問題,會不錯。 謝謝:)

+0

閱讀你的堆棧跟蹤。關於發生的事情,例外消息非常清楚。 – njzk2

+0

sry但沒有例外......它只是沒有正常工作 – user2295158

+0

你確定嗎?你在你的命令方法中拋出一個Exception。你是否用try catch塊把你的調用包圍起來?如果是這樣,你在捕獲塊中做什麼? – njzk2

回答

1

您需要在主UI線程更新UI。你可以像下面那樣使用runOnUiThread。

runOnUiThread(new Runnable() //run on ui thread 
       { 
        public void run() 
        {  
         textViewToChange.setText(Responce); 
       } 
       }); 
+2

niice:D像一個魅力工作;)謝謝你 – user2295158