gpt4 book ai didi

android - FirebaseListAdapter 空 View

转载 作者:行者123 更新时间:2023-11-29 00:02:45 25 4
gpt4 key购买 nike

我正在使用 FirebaseListAdapter 并覆盖所需的 onPopulateView 方法以从实时数据库收集数据,然后将适配器设置为 UI 中的 ListView:

mMessageSummaryAdapter = new FirebaseListAdapter<MessageSummary> (getActivity(),
MessageSummary.class, R.layout.message_list_item, mChatDbReference) {
@Override
protected void populateView(View v, MessageSummary msgSummary, int position) {
final ImageView buddyImage = (ImageView) v.findViewById(R.id.small_image_view_messages);
final TextView buddyName = (TextView) v.findViewById(R.id.contact_username);
....
mListView.setAdapter(mMessageSummaryAdapter);

使用我使用过的其他适配器,可以检查进入其中的数据是否为空,并相应地设置 View 的可见性,如果数据为空,则拉入一个空 View :

  if (foundRoutesList == null || foundRoutesList.size() == 0) {
mEmptyView.setVisibility(View.VISIBLE);
mRecyclerView.setVisibility(View.GONE);
} else {
mEmptyView.setVisibility(View.GONE);
mAdapter = new SearchResultsAdapter(getContext(), foundRoutesList, this);
mRecyclerView.setAdapter(mAdapter);
}

据我了解,FirebaseListAdapter 遍历找到的项目并将它们一个接一个地添加,那么我如何测试以查看结果是否为空以便可以显示一个空的 TextView ?

最佳答案

要解决此问题,请覆盖 FirebaseListAdapter 的 getCount()适配器类中的方法并检查是否为空:

if(getCount() == 0) {
mEmptyView.setVisibility(View.VISIBLE);
mRecyclerView.setVisibility(View.GONE);
} else {
mEmptyView.setVisibility(View.GONE);
mAdapter = new SearchResultsAdapter(getContext(), foundRoutesList, this);
mRecyclerView.setAdapter(mAdapter);
}

关于android - FirebaseListAdapter 空 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486508/

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