我在viewpager中有一个listview。我在listview上设置了一个空视图。如果此列表视图开始为空,当我向其添加内容时,列表视图上的向右或向左滑动将不会在选项卡之间切换。如果listview在我设置适配器时以某些东西(非空)开头,那么我可以滑动。如果我删除listview上的setEmptyView,无论是从数据开始还是没有数据,它总是有效。
如何设置空视图并仍然可以在列表视图之间滑动?
这是我设置空视图的方式:
mListview.setEmptyView(findViewById(R.id.empty_view));
空视图是在linearlayout
中列表视图正下方的文本视图空视图xml: empty_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/empty_list"
android:textColor="@color/lighter_gray"
android:layout_gravity="center"
android:gravity="center"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/no_item"
android:textStyle="italic">
</TextView>
答案 0 :(得分:0)
我建议从当前布局文件中删除空视图,并将其移动到自己的专用布局文件中。然后,当您要将其用作空视图时,在类中为此新布局充气。最终结果将是这样的(未编译,从内存编码):
final View v = LayoutInflater.from(context).inflate(R.layout.empty_view, null);
mListview.setEmptyView(v);
或者
final View v = LayoutInflater.from(context).inflate(R.layout.empty_view, mListview, false);
mListview.setEmptyView(v);