私はサーバーからデータを取得できるアプリケーションを作成していますので、進捗バーを追加したいだけですが、特定の時間を指定することはできません。サーバーからのデータ全体をフェッチしながらランダムに終了します。どうすればいいですか?スレッド付きのアンドロイドのプログレスバー
あなたはあなたがこれらのhttp://developer.android.com/reference/android/widget/ProgressBar.htmlサンプルを使用することができ推敲
私はサーバーからデータを取得できるアプリケーションを作成していますので、進捗バーを追加したいだけですが、特定の時間を指定することはできません。サーバーからのデータ全体をフェッチしながらランダムに終了します。どうすればいいですか?スレッド付きのアンドロイドのプログレスバー
あなたはあなたがこれらのhttp://developer.android.com/reference/android/widget/ProgressBar.htmlサンプルを使用することができ推敲
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.event_detail);
pd = ProgressDialog.show(this, "Please Wait", "Loading ....", true,true);
Thread thread = new Thread(this); //Implment Runnable;
thread.start();
// setData();
}
@Override
public void run()
{
//Do your all work except User Interface Updation
han.sendEmptyMessage(0);
}
private Handler han=new Handler()
{
@Override
public void handleMessage(Message msg)
{
dismiss dialog
}
};
と1つの簡単な例を与えることができますが、それは非同期タスクExample of async taskと統合する方が良いでしょうし、あなたはそれがかかりますどのくらいかわからないので、ちょうどクローズするonPostExecute
を使用します進捗。 助けてくれるといいです
AsynTask
とindeterminate ProgressDialogを一緒に組み合わせることが必要です。このようなもの:
private class DownloadTask extends AsyncTask<...> {
private ProgressDialog progressBar;
protected void onPreExecute() {
progressBar = ...;
progressBar.show();
}
protected Long doInBackground() {
// blah blah
}
protected void onPostExecute() {
progressBar.dismiss();
}
}
進捗状況をキャンセルしたい場合は、忘れずに処理してください。
UはAsyncTask
あなたの代わりに円のgifブツとロードを使用していないのはなぜprivate class Myclass extends AsyncTask<Void, Integer, Void> {
ProgressDialog pDialog;
@Override
protected void onPreExecute() {
pDialog= ProgressDialog.show(context, "", "loading...");
pDialog.show();
super.onPreExecute();
}
@Override
protected Long doInBackground(Void... unused) {
// your code here
return null;
}
@Override
protected void onPostExecute(Void unused) {
pDialog.dismiss();
}
}
を使用することができますか?どのくらいの時間がかかるかを知らずに進行状況バーを表示することはできません – Reno