【问题标题】:emptyView always showing even if list is not empty即使列表不为空,emptyView 也始终显示
【发布时间】:2018-05-17 05:33:35
【问题描述】:

我希望有人可以看一下,让我知道出了什么问题。这是我在 activity_main 中的 emptyView 容器

<ListView
        android:id="@+id/display_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <RelativeLayout
        android:id="@+id/empty_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true">

        <TextView
            android:id="@+id/empty_shelter_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:fontFamily="sans-serif-medium"
            android:paddingTop="16dp"
            android:text="@string/empty_view_title_text"
            android:textAppearance="?android:textAppearanceMedium" />

        <TextView
            android:id="@+id/empty_subtitle_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/empty_shelter_title"
            android:layout_centerHorizontal="true"
            android:fontFamily="sans-serif"
            android:paddingTop="8dp"
            android:text="@string/empty_view_sub_text"
            android:textAppearance="?android:textAppearanceMedium"
            android:textColor="#A2AAB0" />

    </RelativeLayout>

我在每个片段中设置了 emptyView,即使项目显示在列表中,它仍然显示空视图字段。

//set empty activity
    ListView listView = rootView.findViewById(R.id.display_view);
    View emptyView = rootView.findViewById(R.id.empty_view);
    listView.setEmptyView(emptyView);
    //create a new cursor adapter
    mCursorAdapter = new PlatformCursorAdapter(getActivity(),null);
    listView.setAdapter(mCursorAdapter);

如果你能告诉我我做错了什么,我将不胜感激。

【问题讨论】:

  • 为什么要发送null。你应该通过LIST
  • 我按照以前的应用程序工作,第二个参数也设置为 null。
  • 该代码似乎在Fragment 中,您说过布局名为activity_main。如果这与your previous question 中的代码相同,那么问题是您在ActivityFragment 中使用相同的布局,而Activity 中的空View 永远不会被Fragment 中的ListView 隐藏。您想为Fragment 使用单独的布局,包含ListView 和空View,并从activity_main 中删除它们。

标签: java android xml listview android-cursoradapter


【解决方案1】:

尝试在 xml 中隐藏 empty_view。

<RelativeLayout
        android:id="@+id/empty_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:layout_centerInParent="true">

【讨论】:

    【解决方案2】:

    我的朋友们,你有一个在适配器中发送空值。发送列表

    mCursorAdapter = new PlatformCursorAdapter(getActivity(),null);
    

    和其他方法用于检查listview是否为null隐藏 display_view 视图并显示 empty_view 。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-30
      • 2017-03-16
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      相关资源
      最近更新 更多