我有以下代码,我在对话框中创建了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]);
我在wait_for_response_dialog.xml
中的ProressBar布局如下:
<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
答案 0 :(得分:1)
使用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]);
答案 1 :(得分:1)
如果您的ProgressBar位于对话框中,则需要更改行
final ProgressBar bar = (ProgressBar) findViewById(R.id.responseWaitBar);
这个
final ProgressBar bar = (ProgressBar) dialog.findViewById(R.id.responseWaitBar);
祝你好运!