以下のようなアクティビティクラスがあります。
public class LoginActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (ImageView) findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
loader = (ProgressBar) findViewById(R.id.loader);
Thread processThread = new Thread(loaderThread);
loader.setVisibility(View.VISIBLE);
processThread.start();
try {
Thread.currentThread().join();
Log.i("Activity","gone past join()");
loader.setVisibility(View.INVISIBLE);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private Runnable loaderThread = new Runnable() {
public void run() {
ServiceCaller serviceCaller = new ServiceCaller();
boolean status = serviceCaller.checkProcess(url);
}
};
}
さらなる質問 [編集済み] これがシナリオです。メイン アクティビティ クラスは、クリック時にスレッドを作成します。次に、作成されたスレッドがサーバーからデータをフェッチします。これは時間のかかる作業です。そのため、進行状況バーが UI に表示されます。現在、AsyncTask (ここには表示されていません) を使用してサーバー データの取得を行っています。しかし、本当の課題は、バックグラウンド タスクが完了するのを待って、そこから値を取得することです。私が探しているのは:
サーバー呼び出しが行われるまで待って、結果を取得します。その間、進行状況バーを表示します。
何かご意見は?ご迷惑をおかけしましたことをお詫び申し上げます。
前もって感謝します!