gpt4 book ai didi

java - 在 ListView 中获取和显示数据时的强制进度条

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:36 27 4
gpt4 key购买 nike

我使用下面的代码在用户点击获取移动应用程序列表时显示进度条。问题是这个栏几乎不会出现,正如我所说,它需要 2 到 3 秒才能显示 Activity 中的应用程序列表。

 static private void prod() {
progressDialog = new ProgressDialog(activity);
progressDialog.setCancelable(false);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("Fetching App List");
progressDialog.setMessage("Please Wait...");
progressDialog.show();

}

这就是我将数据传递到自定义 ListView 的方式。

  Adapter = new AppListAdapter(context, packageList, packageManager);
apps.setAdapter(Adapter);

在这里,我在 Adapter 类的 getView 中像这样调用 progress dismiss。

 AppList.procan();
return convertView;

2 到 3 秒是否不足以至少显示进度条。

我在点击时调用此方法,在调用 ListView 适配器时关闭。

我在许多应用程序中看到甚至 1 秒的应用程序显示进度条。为什么我拿不到。我可以做什么修复。?

最佳答案

问题可能是每次点击时 ProgressDialog 的初始化(耗时)

1.) 使方法非静态并在 oncreate 中初始化 progressDialog(如果它在不同的类中,则尽快初始化)

2.) 然后只在 progressDialog

的实例上调用 show
ProgressDialog progressDialog;;
protected void onCreate(...) {
//...code
progressDialog = new ProgressDialog(activity);
progressDialog.setCancelable(false);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("Fetching App List");
progressDialog.setMessage("Please Wait...");

}

private void prod() {
progressDialog.show();
}

关于java - 在 ListView 中获取和显示数据时的强制进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49096392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com