2014-05-25 48 views
1

所以我给我的可扩展列表过滤选项,当过滤器想出什么,我想提出一个空的消息,说中间的“没有结果”(两个高度和宽度)的可扩展列表预定义区域,但我有一个非常困难的时间。为可扩展列表设置空视图不会工作

当我空视图添加到其中扩展列表是布局,像这样:

<?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" 
android:weightSum="10" 
android:id="@+id/orderMenu"> 

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:id="@+id/searchBarMenu" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:visibility="gone" 
    android:inputType="text" 
    android:hint="Search for keyword(s), divided by comma" 
    android:singleLine="true" 
    android:textSize="15dp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="0dp" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Large Text" 
    android:id="@+id/ResturantName" 
    android:layout_gravity="center_horizontal" 
    android:paddingTop="10dp" 
    android:textSize="30dp" 
    android:layout_weight="1" /> 


<view 
    android:layout_width="wrap_content" 
    android:layout_height="0dp" 
    class="com.paze.CustomViews.MenuExpandableList" 
    android:id="@+id/expandableListView" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="8" /> 

<Button 
    android:layout_width="175dp" 
    android:layout_height="0dp" 
    android:text="Finish Order" 
    android:id="@+id/proceedButton" 
    android:layout_gravity="center_horizontal" 
    android:singleLine="true" 
    android:layout_weight="1" /> 

    <TextView 
    android:id="@android:id/empty" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:textSize="20dp" 
    android:text="No Items In your order" 
    android:layout_centerInParent="true" 
    android:layout_gravity="center_horizontal"/> 

    </LinearLayout> 

我可以看到总是文本视图,但如果我不加它的布局,我只是看不到任何东西:

  menuListView.setEmptyView(findViewById(R.id.empty)); 

,其中“空”是我为此做了一个特殊的布局(不要在那里扩展列表)的图。

加我该如何在空的可扩展列表中设置视图?

注意: 当我筛选时,我设置了一个新的适配器,而不是更新当前适配器的列表。

非常感谢您

回答

0

你有你的特殊布局添加到活动的视图层次结构(包含ListView中的一个)。然后,将整个布局设置为列表的空视图。使用布局可让您随时随地放置文字。基于

@Override 
public void onCreate(Bundle savedInstanceState) { 
... 
final View inflated = LayoutInflater.from(this).inflate(R.layout.empty_layout, null); 
addContentView(inflated, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
listView.setEmptyView(inflated); 
... 
} 

https://stackoverflow.com/a/7454004/3172619