在我的 android 应用程序中,我有recyclerView一个fragment. 因此,recyclerView运营商会提供有关已安装应用程序的详细信息。我正在使用 acustomAdapter并使用线程将数据加载到 ,recyclerView因为如果不是 UI 挂起。我正在使用 swipetoReload 控件。我可以通过重新启动我使用的线程来重新加载 recylerView。但随后recyclerView消失并立即再次出现。
我在这里做错了吗?有没有办法避免这种情况。或者有没有更好的方法可以在没有线程或类似的东西的情况下做到这一点。这是我的代码。
片段:
Thread loadApps = new Thread() {
@Override
public void run() {
swipeapplist.post(new Runnable() {
@Override
public void run() {
if (!swipeapplist.isRefreshing()) {
swipeapplist.setRefreshing(true);
}
}
});
appAdapter = new AppAdapter(context, getInstalledApps());
final LinearLayoutManager layoutManager = new LinearLayoutManager(context);
recyclerInstalledApps.post(new Runnable() {
@Override
public void run() {
recyclerInstalledApps.setLayoutManager(layoutManager);
LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(context, R.anim.recycler_layout_animation);
recyclerInstalledApps.setLayoutAnimation(controller);
recyclerInstalledApps.scheduleLayoutAnimation();
recyclerInstalledApps.setAdapter(appAdapter);
}
});
swipeapplist.post(new Runnable() {
@Override
public void run() {
if (swipeapplist.isRefreshing()) {
swipeapplist.setRefreshing(false);
}
}
});
}
};
loadApps.start();
FFIVE
相关分类