Android listview里面的viewpager没有刷卡

时间:2015-04-06 01:50:21

标签: android listview android-fragments android-listview

我在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>

1 个答案:

答案 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);