2011-01-26 33 views
1

私はインターネットからのデータを受信するアラートダイアルを持っています。時にはインターネット接続のデータが遅れていることがあります。だから私はスピナーが自分自身を示す前に進捗バーをしたい。私はこれを書いているデータを取得しながら。スピナーの前に進捗バーを設定する方法は?

final String[] List= new String{ 'abc', 'def'}; 
       ArrayList<String> ListArray = new ArrayList<String>(); 
       ListArray.addAll(Arrays.asList(List)); 
       ListAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, ListArray); 
       AlertDialog.Builder builder = new AlertDialog.Builder(this); 
       builder.setTitle("Data"); 
       builder.setAdapter(ListAdapter, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int item) { 
         txtExec.setText(ClientList[item]); 
        } 
       }); 
       AlertDialog alert = builder.create(); 
       alert.show(); 


ProgressDialog dialog = new ProgressDialog(this); 
       dialog.setMessage("Please wait while loading..."); 
       dialog.setIndeterminate(true); 
       dialog.setCancelable(true); 

したがって、警告ダイアログボックスの前にprogessDialogを調整するにはどうすればよいですか?

答えて

1

スレッドまたはAsyncTaskでインターネットからデータをロードする必要があります。

hereあなたには可能性を説明する小さな記事があります。

私はAsyncTask方法をお勧めします、私はあなたが例えばonPostExecutedoInBackground方法でロードしたデータを渡すことができる方法についての詳細は、ドキュメントを参照してください、あなたはそれを行う方法にはほとんど擬似コードを投稿してください。

private class MyTask extends AsyncTask<Void, Void, Void> { 

    protected void onPreExecute() { 
     //setup and display the progressDialog 
    } 

    protected Void doInBackground(Void... params) { 
     //do your data loading 
     return null; 
    } 

    protected void onPostExecute(Void void) { 
     //dismiss progress dialog and show the spinner 
    } 
} 
+0

thanxna lot .... – Sourabh