gpt4 book ai didi

android - 如何处理 Firebase Adapter RecyclerView 空 View ?

转载 作者:行者123 更新时间:2023-11-30 00:37:38 25 4
gpt4 key购买 nike

所以问题是,每当我为回收站 View 设置空 View 时,它总是显示空 View 。我尝试遵循一些建议的解决方案,例如此网址中的解决方案:FirebaseRecyclerAdapter with empty view ,但问题是 Firebase 监听器是异步的并且在自己的线程上运行。甚至在设置空 View 之前, fragment 的 onCreateView 方法已经返回 View ,因此没有正确设置空 View 。 FirebaseRecyclerAdapter 的 empty view 的设置还有其他方法吗?

这是代码 fragment :

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.activity_list, container, false);

initializeFilter();

Log.d("AttendanceFragment", filter.getTab() + "");

Firebase.setAndroidContext(getContext());

//filter(filter);
handleFilter();

if(getContext() != null) {
adapter = new AttendanceAdapter(Attendance.class, R.layout.list_item, AttendanceAdapter.AttendanceViewHolder.class, mDatabase);

mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("DATA_CHANGED", dataSnapshot.hasChildren() + "");

if(!dataSnapshot.hasChildren()){
Log.d("SETTING", setEmpty + "");
if(filter.getTab() == 1) {
empty = (TextView) v.findViewById(R.id.empty_view);
empty.setText("No finished attendance yet");
}

recView.setEmptyView(v.findViewById(R.id.empty_view));
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

Log.d("FIREBASE", recView.getAdapter().getItemCount() + "");
}

adapter.setOnItemClickListener(new AttendanceAdapter.OnItemClickListener() {
@Override
public void onItemClick(String name) {
Toast.makeText(getContext(), name, Toast.LENGTH_SHORT).show();
}
});

recView.setAdapter(adapter);

return v;
}

它基本上检查 dataSnapshot 是否没有任何 child ,如果没有任何 child ,它会设置空 View 。问题又是 setAdapter() 在 onDataChange() 之前先被调用。

最佳答案

recView.setAdapter(adapter) 放在 recView.setEmptyView(v.findViewById(R.id.empty_view)) 之后以获得更好的练习使用 ProgressBar ProgressDialog

关于android - 如何处理 Firebase Adapter RecyclerView 空 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43143134/

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