これがアンドロイドでどのように行われているかを把握するのに問題があります。非常にシンプルなアプリケーションです.TextViewは画面の大部分を占め、ToggleButtonは下部に配置されています。ボタンを押すと、電話で5秒ごとに新しいデータを要求するソケットを介して通信が行われます。この新しいデータは、TextViewの先頭に追加する必要があります。AndroidアップデートUIのメインスレッドの問題
私はasynctaskを使用していましたがメインスレッドの外部のスレッドはTextViewを更新できませんでしたので、メインスレッドで5秒のタイマーやネットワークアクティビティを実行したくないためです。
ここに私がやっていることのための擬似コードがあります。新しいデータを受け取るたびにメインビューのスレッドからupdateViewが呼び出されるようにするにはどうすればよいですか? TextViewの
public class MyActivity {
//setContentView
//setup network connection
//getTextView
//getToggleButton
//when clicked on start asynctask GetData
//when clicked off stop GetData (set global boolean to false)
}
public void updateView(){
//take linked list and make one String of proper size for textview
//setTextView
}
private class GetData extends AsyncTask {
//while we want to get data (global boolean variable)
//send request
//wait for response
//*update global text variable for the view*
//sleep for 5 seconds
}
私は複数の正解を選択できたら、それをしてくれてありがとう。ヘルプをよろしくお願いいたします。 – Michael