如何在用Android填充ListView时停止setEmptyView显示文本视图?
在我的MainActivty中,我使用FirebaseListAdapter显示Firebase数据库中的项目列表,如下所示:如何在用Android填充ListView时停止setEmptyView显示文本视图?,android,listview,listadapter,Android,Listview,Listadapter,在我的MainActivty中,我使用FirebaseListAdapter显示Firebase数据库中的项目列表,如下所示: firebaseListAdapter = new FirebaseListAdapter<String>(MainActivity.this, String.class, R.layout.list, ref) { @Override protected void populateView(final View v, final String listNa
firebaseListAdapter = new FirebaseListAdapter<String>(MainActivity.this, String.class, R.layout.list, ref) {
@Override
protected void populateView(final View v, final String listName, int position) {
((TextView )v.findViewById(R.id.list_name)).setText(listName);
}
};
listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(firebaseListAdapter);
TextView emptyView = (TextView) findViewById(R.id.empty_view);
listView.setEmptyView(emptyView);
提前谢谢 如果适配器具有此方法,则可以在此方法中设置空视图
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
super.onChanged();
TextView emptyView = (TextView) findViewById(R.id.empty_view);
listView.setEmptyView(emptyView);
}
});
正如您所说,在填充列表之前,空视图不会消失,这就是空视图的工作方式谢谢您的回答,但是您有什么想法,来解决这个问题吗?不要使用空视图并自行显示它确定,而是使用基于什么的条件?我正在使用firebaseListAdapter.getCount()==0,但它不起作用。是否需要为firebaseListAdapter调用notifydatasetchanged?我在RecycleVerView和普通适配器上遇到问题,我通过调用
TextView emptyView=(TextView)findView wById(R.id.empty\u view)解决了这个问题;setEmptyView(emptyView)代码>在<代码>listView.notifydatasetchanged之后代码>,不是在初始适配器之后。像个魔咒一样工作!非常感谢你!
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
super.onChanged();
TextView emptyView = (TextView) findViewById(R.id.empty_view);
listView.setEmptyView(emptyView);
}
});