我正在尝试AsyncTask在后台执行任务,然后在完成后呈现它,但会发生的事情是在完成之前不会显示任何内容.
我也尝试使用execute并doInBackground调用它,但两者都会导致相同的问题,我必须等待活动开始准备好一切,而不是显示带有加载进度条的页面,然后再添加列表.
码:
private class listTask extends AsyncTask<Void,Void,Void> {
@Override
protected Void doInBackground(Void... voids) {
recyclerview.setAdapter(new ItemAdapter(getInternalFileList()));
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressbar.setVisibility(View.GONE);
}
List<GalleryItem> getInternalFileList(){
String path = getActivity().getFilesDir().toString();
File directory = new File(path);
File[] files = directory.listFiles();
List<GalleryItem> galleryItems = new ArrayList<>();
MainDBRepository repo = new MainDBRepository(getActivity());
HashMap<String,GalleryItem> itemsMap = repo.getItemsMap();
for(File file : files) {
if(itemsMap.containsKey(file.getName()))
galleryItems.add(itemsMap.get(file.getName()));
}
Collections.reverse(galleryItems);
return galleryItems;
}
private class ItemHolder extends RecyclerView.ViewHolder { …Run Code Online (Sandbox Code Playgroud) 每当我尝试在我的 ubuntu 服务器 18.04 上安装 phpmyadmin 时,我都会收到以下错误
sudo apt install phpmyadmin php-mbstring php-gettext
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package phpmyadmin
E: Unable to locate package php-mbstring
E: Unable to locate package php-gettext
Run Code Online (Sandbox Code Playgroud)
我发现的大多数线程都建议使用 apt 重新更新和升级,但这样做没有任何作用,而且我在第四行也收到了该错误
Err:5 http://ppa.launchpad.net/nijel/phpmyadmin/ubuntu bionic Release
404 Not Found [IP: 91.189.95.83 80]
Hit:6 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:7 http://download.webmin.com/download/repository sarge Release
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/nijel/phpmyadmin/ubuntu bionic Release' does not have a Release file.
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?