【发布时间】:2019-10-30 19:54:09
【问题描述】:
我的任务是添加一个带有百分比值的ProgressBar,以便在用户想要预测某事时显示一个值。我没有使用ProgressDialog,因为它现在已被弃用。在这里,百分比值取决于从开始请求到完成请求的时间。我正在使用Volley 从服务器获取数据。
这是我想要实现的示例图片:
我已经这样做了
我在警报对话框中实现了一个水平进度条(我正在使用这种方式,因为不推荐使用进度对话框)。我想像这样设置进度条。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_result_prediction, container, false);
predictProgress = (ProgressBar) view.findViewById(R.id.progressbarPredict);
AlertDialog.Builder(view.getContext());
builder.setCancelable(false); // if you want user to wait for some process to finish,
View v = inflater.inflate(R.layout.layout_loading_dialog, null);
builder.setView(v);
final AlertDialog dialog = builder.create();
submitPredictPlant.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.show();
predictProgress.setProgress(25);
predictProgress.setProgress(50);
predictProgress.setProgress(75);
predictProgress.setProgress(100);
dialog.dismiss();
我想在进度为 100 时关闭对话框。但这会给出类似的错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ProgressBar.setProgress(int)' on a null object reference
我已经参考了 builder.setview 中使用的 layout_loading_dialog 中的进度条。
这是 layout_loading_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="4"
android:gravity="center"
android:text="Please wait! This may take a moment." />
<ProgressBar
android:layout_width="match_parent"
android:id="@+id/progressbarPredict"
android:layout_height="wrap_content"
android:layout_weight="1"
style="?android:attr/progressBarStyleHorizontal"/>
【问题讨论】:
-
您好,欢迎您。请阅读How to Ask和minimal reproducible example
-
不要使用progressDialog,因为它已被弃用,你可以使用进度条
-
你能再检查一下我的问题吗?我已经添加了一些代码,谢谢
-
是的,用进度条创建一个
-
现在的问题是当我想在 layout_loading_progress.xml 上设置进度条时,我得到空对象引用
标签: android progress-bar android-progressbar