Android 对话框中 ProgressBar 上的空对象引用
Android null object reference on ProgressBar in dialog
我在对话框中创建 ProgressBar 的代码如下:
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.wait_for_response_dialog);
final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar);
final int[] i = {0};
bar.setProgress(i[0]);
我的 ProressBar 布局如下 wait_for_response_dialog.xml
:
<ProgressBar
android:id="@+id/responseWaitBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
但是第 bar.setProgress(i[0]);
行出现以下错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setProgress(int)' on a null object reference
使用dialog
初始化。 ProgressBar
.
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.wait_for_response_dialog);
final ProgressBar bar = (ProgressBar)dialog.findViewById(R.id.responseWaitBar);
final int[] i = {0};
bar.setProgress(i[0]);
如果您的 ProgressBar 在您的对话框中,您需要更改行
final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar);
为此
final ProgressBar bar = (ProgressBar) dialog.findViewById(R.id.responseWaitBar);
祝你好运!
避免视图绑定,这是应用程序崩溃的原因。
ProgressDialog progressDialog = new ProgressDialog(getContext());
progressDialog.setMessage("Loading....");
progressDialog.setCancelable(false);
progressDialog.show();
用它来显示进度条
我在对话框中创建 ProgressBar 的代码如下:
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.wait_for_response_dialog);
final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar);
final int[] i = {0};
bar.setProgress(i[0]);
我的 ProressBar 布局如下 wait_for_response_dialog.xml
:
<ProgressBar
android:id="@+id/responseWaitBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
但是第 bar.setProgress(i[0]);
行出现以下错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setProgress(int)' on a null object reference
使用dialog
初始化。 ProgressBar
.
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.wait_for_response_dialog);
final ProgressBar bar = (ProgressBar)dialog.findViewById(R.id.responseWaitBar);
final int[] i = {0};
bar.setProgress(i[0]);
如果您的 ProgressBar 在您的对话框中,您需要更改行
final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar);
为此
final ProgressBar bar = (ProgressBar) dialog.findViewById(R.id.responseWaitBar);
祝你好运!
避免视图绑定,这是应用程序崩溃的原因。
ProgressDialog progressDialog = new ProgressDialog(getContext());
progressDialog.setMessage("Loading....");
progressDialog.setCancelable(false);
progressDialog.show();
用它来显示进度条