私はスレッドを実装しましたが、そうではありませんが、HttpClientを起動する関数でスレッドを実装しようとしています。私は結果を見るスレッドコードを削除するかのように実行する。Androidでスレッドを正しく実装できません
これは私のコードです:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_box);// sd
TextView inbox = (TextView) findViewById(R.id.inbox);
final Functions function = new Functions();
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
where = prefs.getString("chat", "null");
class SendThread extends Thread {
public void run(){
//getInbox() runs an http client
listOfMessages = function.getInbox(where);
}
}
SendThread sendThread = new SendThread();
sendThread.start();
inbox.setText(listOfMessages);
}
私は私が私のスレッドコードを削除した場合、それは完璧に動作しますが、上記の言ったように。私が間違っていることに関するアイデアは?これはスレッドを使用した初めてのことです。ルーキーの間違いでごめんなさい。
少なくとも私は何も表示されませんが、スレッドコードが挿入されていないと出力が表示されません。
UIスレッドではないスレッドからUIを変更しないでください。また、 'inbox.setText(listOfMessages)'はおそらく 'listOfMessages = function.getInbox(where);'の前に実行されます。 –
これはどのように実行することができますか? UIを変更するにはどのようにすればよいですか、どのビューにも触れないように最善を尽くしています。おかげさまで – EGHDK