Firebase UI 延迟填充视图?
Firebase UI delay in populating View?
我正在使用 firebase UI List 适配器,但是每当 activity 打开时,它都会花费很多时间,比如 5-8 秒,然后才会显示 list 中的内容。我的网络没有问题,我不知道问题出在哪里。我的代码是这样的。
我正在像这样 片段 中获取数据
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_coming, container, false);
final DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.keepSynced(true);
mAuth = FirebaseAuth.getInstance();
comingList =(ListView)view.findViewById(R.id.listViewComing);
FirebaseListAdapter<userData> firebaseListAdapter=new FirebaseListAdapter<userData>(
getActivity(),
userData.class,
R.layout.item_list,
mDatabase.child("coming"))
{
@Override
protected void populateView(View v, userData model, int position) {
ImageView imageView = (ImageView) v.findViewById(R.id.imageViewList);
TextView textView = (TextView) v.findViewById(R.id.textViewList);
textView.setText(model.getName());
Glide.with(imageView.getContext()).load(Uri.parse(model.getImageURI())).into(imageView);
}
};
comingList.setAdapter(firebaseListAdapter);
return view;
}
所以基本上我需要
的解决方案
- 快速获取数据
- 如何在 fragment 中为 firebase 添加进度指示器UI?
我通过在 Firebase 中启用离线缓存解决了这个问题
Firebase.getDefaultConfig().setPersistenceEnabled(true);
我正在使用 firebase UI List 适配器,但是每当 activity 打开时,它都会花费很多时间,比如 5-8 秒,然后才会显示 list 中的内容。我的网络没有问题,我不知道问题出在哪里。我的代码是这样的。
我正在像这样 片段 中获取数据
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_coming, container, false);
final DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.keepSynced(true);
mAuth = FirebaseAuth.getInstance();
comingList =(ListView)view.findViewById(R.id.listViewComing);
FirebaseListAdapter<userData> firebaseListAdapter=new FirebaseListAdapter<userData>(
getActivity(),
userData.class,
R.layout.item_list,
mDatabase.child("coming"))
{
@Override
protected void populateView(View v, userData model, int position) {
ImageView imageView = (ImageView) v.findViewById(R.id.imageViewList);
TextView textView = (TextView) v.findViewById(R.id.textViewList);
textView.setText(model.getName());
Glide.with(imageView.getContext()).load(Uri.parse(model.getImageURI())).into(imageView);
}
};
comingList.setAdapter(firebaseListAdapter);
return view;
}
所以基本上我需要
的解决方案- 快速获取数据
- 如何在 fragment 中为 firebase 添加进度指示器UI?
我通过在 Firebase 中启用离线缓存解决了这个问题
Firebase.getDefaultConfig().setPersistenceEnabled(true);