- UIスレッド
AsyncTask
外部からAndroidのUIツールキットにはアクセスしないでください、あなたのユーザーインターフェース上で、非同期の作業を実行することができます。ワーカースレッドでブロッキング操作を実行した後、スレッドやハンドラーを自分で処理することなく、結果をUIスレッドにパブリッシュします。ここで
例です:あなたは、あなたの場合は、より詳細な与えていない場合
public void onClick(View v) {
new SomeTask().execute(something);
}
private class SomeTask extends AsyncTask<Something, Void, String> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
protected Bitmap doInBackground(Something something) {
return string; // the TextView's text
}
/** The system calls this to perform work in the UI thread and delivers
* the result from doInBackground() */
protected void onPostExecute(String result) {
textView.setText(result);
}
}
しかし、何も正確な答えはあなたを満足しないことがあります。
たとえば、Actvityには、値がTextViewに設定されるメソッドがあります。 public void tvTwoThreadTimeSetText(文字列値){ \t \tテレビ。setText(value); //希望の効果を得るためにクラスから値を正しく転送する方法 – Sinigami
nop、アクティビティ参照を使わずにこの値を転送することはできません。しかし、BroadcastReceiverを採用している場合は、アプリケーションのコンテキストを使用してこれを行うことができます(アクティビティは必要ありません) – waqaslam