2012-02-16 9 views
-1

ユーザーがボタンをクリックして新しいアクティビティを実行すると、アクティビティがすべてロードされて起動するまでに時間を待たなければならないまで、ユーザは黒い画面しか見ることができないので、アクティビティが完了するまでプログレスバーを入れたい。 どうすればいいですか? ありがとうございます。進行状況バーを使用していますか?

+0

二つのリンク:http://developer.android.com/reference/android/widget/ProgressBar.htmlとhttp://developer.android.com/guide/topics/ui/dialogs .html#ProgressDialog。 Googleをご利用ください。 – talnicolas

+0

非同期タスクを使用しようとすると、私はあなたを助けるかもしれません – Aerrow

答えて

0

サンプルコードですので、コードごとに修正してください。あなたを助けることができる

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.impl.client.DefaultHttpClient; 

import android.app.Activity; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.TextView; 

public class ReadWebpageAsyncTask extends Activity { 
    private TextView textView; 


/** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     textView = (TextView) findViewById(R.id.TextView01); 
    } 

    private class DownloadWebPageTask extends AsyncTask<String, Void, String> { 
     @Override 
     protected String doInBackground(String... urls) { 
      String response = ""; 
      for (String url : urls) { 
       DefaultHttpClient client = new DefaultHttpClient(); 
       HttpGet httpGet = new HttpGet(url); 
       try { 
        HttpResponse execute = client.execute(httpGet); 
        InputStream content = execute.getEntity().getContent(); 

        BufferedReader buffer = new BufferedReader(
          new InputStreamReader(content)); 
        String s = ""; 
        while ((s = buffer.readLine()) != null) { 
         response += s; 
        } 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
      return response; 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      textView.setText(result); 
     } 
    } 

    public void readWebpage(View view) { 
     DownloadWebPageTask task = new DownloadWebPageTask(); 
     task.execute(new String[] { "http://www.vogella.de" }); 

    } 
} 
関連する問題