android-recyclerview - 仅在加载时显示所有 recyclerview 内容(AsyncTask)
问题描述
如何加载 recyclerview 的所有内容,只有在完成时才显示 recyclerview。
我有一个 recyclerview,当我打开一个活动时,我希望页面加载显示进度条。当它完成加载时,它会显示 recyclerview 的所有内容。
你能帮我吗?谢谢。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pesquisa_cidade);
progressBar = findViewById(R.id.idPesquisaCidadeProgressBar);
recyclerView = findViewById(R.id.idPesquisaCidadeRecyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
recyclerView.setHasFixedSize(true);
cidadeAdapter = new PesquisaRegiaoCidadeAdapter(listaComLocaisDaCidadePesquisada, getApplicationContext());
recyclerView.setAdapter(cidadeAdapter);
}
}
@Override
protected void onResume() {
super.onResume();
AsyncTaskCarregarCidadePesquisada tarefa = new AsyncTaskCarregarCidadePesquisada();
tarefa.execute();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
}
@Override
protected Void doInBackground(String... strings) {
CollectionReference locais = dataBase.collection("cidade").document(paisDaCidadePesquisada).collection(cidadePesquisada);
locais.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (final DocumentSnapshot document : Objects.requireNonNull(task.getResult())) {
listaComLocaisDaCidadePesquisada.add(document.toObject(Locais.class));
}
cidadeAdapter.notifyDataSetChanged();
}
}
});
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
recyclerView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
}
}
解决方案
推荐阅读
- python - 从 Python 中的 API 结果中捕获字符串
- java - 我应该如何在 Apache Ignite (GridGain) 中执行缓存配置迁移?
- javascript - 道具更改时更新列表
- arrays - 如何检查组合框中的值是否是组成组合框的行源的成员?
- asp.net-core - ASP.NET Core MVC:混合可空路由值和查询字符串参数时,UrlHelper.Action 无法解析
- angular - angular rxjs 正确使用分享/分享回复
- javascript - make_date() 不能在表单中工作,获取错误的日期
- sas - %CEM Macro for SAS: how to invoke this macro
- swift - 如何将 Braze iOS SDK 更新到 4.3.2 | 斯威夫特 Xcode
- python - 使用非 Pandas 方法填充数据