ProgressBar
を停止できません。スタイルはProgressBarStylesmall
です。円形の小さなProgressBar
を開始および停止するにはどうすればよいですか?
デフォルトでは、次のように、progressBarを表示し、不要な場合は非表示にできます。
progressBar.setVisibility(View.GONE);
プログラムで制御したい場合は、次の方法で実現できます。
progressBar.setVisibility(View.VISIBLE); //to show
progressBar.setVisibility(View.GONE); // to hide
ProgressDialogを使用することもできます。
private ProgressDialog progressDialog;
...
public void showProgressDialog() {
if (progressDialog == null) {
progressDialog = new ProgressDialog(PhotographerDetailActivity.this);
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(false);
}
progressDialog.setMessage("your message");
progressDialog.show();
}
public void dismissProgressDialog() {
if (progressDialog != null ) {
progressDialog.dismiss();
}
それがあなたを助けることを願っています。
これにはAsyncTasksを処理する必要があります。
/*
* We set the visibility to true. If it was already visible
* there's no need of doing this but we do it for the sake of readability.
*/
final ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar1);
progressBar.setVisibility(View.VISIBLE);
new AsyncTask<Void,Void,Void>(){
//The variables you need to set go here
@Override
protected Void doInBackground(final Void... params){
// Do your loading here. Don't touch any views from here, and then return null
return null;
}
@Override
protected void onPostExecute(final Void result){
// Update your views here
progressBar.setVisibility(View.GONE);
}
}.execute()
それが役立つかどうかはわかりませんが、ProgressDialog
を使用できます。 ProgressDialog
という名前の実行中のprogressDialog
があり、progressDialog.dismiss();
を使用できるとします。削除するProgressDialog
のインスタンスが、実際に表示されているProgressDialog
であることを確認してください。 progressDialog.isShowing();
で確認できます。 ProgressDialog
を開始するには:
progressDialog = ProgressDialog
.show(myActivityContext,
"ProgressDialog Title",
"ProgressDialog Body");
デフォルトでは、ProgressDialog
UIは必要なだけ円形です。
プログレスバーを隠す:progressBar.setVisibility(View.INVISIBLE);
プログレスバーを表示:progressBar.setVisibility(View.VISIBLE);
gONE VSでお読みください。目に見えない ここ
この古いトピックに出会い、みんながProgressDialogについて話していることに気付きました。 ProgressDialogは非推奨であり、代わりにProgressBarクラスを使用する必要があることに注意してください。
Android docs:
ProgressDialogを避ける
Androidには、プログレスバー付きのダイアログを表示するProgressDialogという別のダイアログクラスが含まれています。このウィジェットは、進行状況が表示されている間、ユーザーがアプリを操作できないようにするため、非推奨です。読み込みまたは不確定な進行状況を示す必要がある場合は、ProgressDialogを使用する代わりに、レイアウトで Progress&Activity の設計ガイドラインに従い、レイアウトで ProgressBar を使用する必要があります。
「未定」のプログレスバーがあり、スピンして「確定」されますが、そうではありません。後者に固執するだけで大丈夫です。 「決定」するには、そのxml要素にprogress属性を追加し、設定します
style="?android:attr/progressBarStyleHorizontal"
Android:indeterminate="false"