gpt4 book ai didi

android - ListView 在加载数据之前短暂显示空消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:03 25 4
gpt4 key购买 nike

我使用以下自定义布局创建了一个 ListFragment,它添加了一个 TextView 以在列表为空时显示一条消息:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>

<TextView android:id="@id/android:empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/vsl_empty"
android:gravity="center"
android:layout_gravity="center"
android:textColor="#8C8C8C" />
</LinearLayout>

使用派生自 CursorAdapter 的自定义适配器加载数据。当数据库中有数据时,列表会非常简短地显示空列表消息,直到加载数据,此时列表才会被填充。

如何防止由于列表尚未填充而短暂出现空列表消息?

更新

我想强调的是,我使用的 ListFragment 的布局包含一个 ListView 和特殊 id android:list,和具有特殊 ID android:emptyTextView,如 here 所述.

设置 android:visibility="invisible" 不会影响可见性。我怀疑这是因为它被设置为内部可见。

最佳答案

提供的答案是正确的。我确实必须将 TextView 设置为不可见,但正确的位置在 onCreateLoader 中:

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args)
{
mListView.getEmptyView().setVisibility(ListView.GONE);

return new CursorLoader(getActivity(), CONTENT_URI, null, null, null, null);
}

此外,没有必要让空 View 再次可见:这是由框架自动完成的。

关于android - ListView 在加载数据之前短暂显示空消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14124326/

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