1

最初にメイン アクティビティからインターネットからデータをロードするのに時間がかかる 2 番目のアクティビティを開こうとしましたが、この間、画面が真っ暗になるので、進行状況ダイアログを使用して「ねえ、私はまだ生きています。私を閉じないで!」すべてが完璧に進みましたが、唯一の問題は、スピナーが回転していないことです。ここに私のコードがあります: ボタンがクリックされた後: new YourAsyncTask().execute();

public class YourAsyncTask extends AsyncTask<Void, Void, Void> {

    private ProgressDialog myDialog;

    @Override
    protected void onPreExecute() {
        //show your dialog here
        myDialog = ProgressDialog.show(ScrollingTab.this, "loading..", "please wait..", true, true);  
        myDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
    }

    @Override
    protected Void doInBackground(Void... params) {        
        //update your DB - it will run in a different thread

        startActivity(new Intent("com.android.ricky.RESULT_DETAIL"));
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        //hide your dialog here
        myDialog.dismiss();
    }
}

「startActivity(new Intent("com.android.ricky.RESULT_DETAIL"));」を削除しようとしました および「myDialog.dismiss();」同時に、スピナーが回転しています><助けてください、どうもありがとう!

4

1 に答える 1

4

あなたのコンセプトは少し紛らわしく、間違っています。

ボタンのクリックで 2 番目のアクティビティを開始し、次にonCreate()2 番目のアクティビティで を実行する必要がありYourAsyncTask()ます。の 2 番目のアクティビティ用にインターネットからデータをダウンロードしdoInBackground()ますAsyncTask。ダウンロードが完了したら、 の 2 番目のアクティビティ用に UI を準備しonPostExecute()AsyncTask次に.dismiss()ProgressDialog

于 2012-07-04T10:19:58.787 に答える