0

ボタンのクリックに対する応答として、アクティビティにプログレス バーを表示したいと考えています。プログレスバーを表示する/表示しないために非同期タスクを使用する必要があるという別の質問を読みましたが、ボタンをクリックするとプログレスバーが正しく表示されません (表示される時間ははるかに短くなります) 何か提案はありますか?

活動コード:

public void chooseContactFromList(View view){
ProgressBar pBar = (ProgressBar) findViewById(R.id.progressBar1);
circleActivity progressTask = (circleActivity) new   circleActivity(pBar).execute();

AlertDialog.Builder builder = new AlertDialog.Builder(this);
CharSequence[] cs=nameList.toArray(new CharSequence[nameList.size()]);
builder.setTitle("Make your selection");
    builder.setItems(cs, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            reciverNumber = phoneList.get(item);
        }
    });
    AlertDialog alert = builder.create();
    alert.show();
    progressTask.cancel(true);
}

AsyncTask コード:

public class circleActivity extends AsyncTask<Void, Void, Void> {
private ProgressBar progressBar; 

public circleActivity(ProgressBar pBar) {
    progressBar=pBar;
}

protected void onPreExecute() {
    // TODO Auto-generated method stub
    super.onPreExecute();
    progressBar.setVisibility(View.VISIBLE);
}

@Override
protected void onPostExecute(Void result) {
    progressBar.setVisibility(View.INVISIBLE);
}


@Override
protected void onProgressUpdate(Void ... progress) {

}

@Override
protected Void doInBackground(Void... arg0) {
    // TODO Auto-generated method stub
    return null;
}

}

ありがとう

4

1 に答える 1