2015-04-06 54 views
0

我有一个viewpager里面的listview。我在listview上设置了一个空视图。如果这个列表视图开始为空,当我添加一些东西,然后在列表视图上向右或向左滑动将不会切换标签。如果列表视图以某些东西(非空)开始,当我在其上设置适配器时,则可以滑动。如果我删除列表视图上的setEmptyView,它总是起作用,无论它是以数据开始还是没有它。viewpager内部的Android listview不能刷卡

我该如何设置一个空视图,并仍然得到列表视图之间滑动标签?

这是我的设置空视图:

mListview.setEmptyView(findViewById(R.id.empty_view)); 

空视图是正下方的的LinearLayout

列表视图一个TextView空视图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

对我来说,它看起来像你的空观点消耗触摸 – user210504 2015-04-06 02:10:11

+0

实际上当列表视图是空的并显示空白视图的滑动作品。它只有当我添加一个项目到列表视图,刷卡停止工作 – Maro 2015-04-06 02:43:32

回答

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); 
+0

当我这样做时,空的视图不会显示在所有列表视图为空时出于某种原因 – Maro 2015-04-06 02:37:25

+0

这两个变化? – stkent 2015-04-06 02:37:55

+0

是的,我测试了两个 – Maro 2015-04-06 02:38:08