public void setEmptyView (View emptyView);
在android默认的ListActivity中实现了empty view的使用,我们也可以自定义使用android的这一机制(内部控制listview和empty view的visibility,程序员不必去设置),要使用android的这种机制,在相应的layout中ListView的层次必须喝empty View一致,否则达不到相应的效果,可以看如下的layout使用.
代码中的RefreshableListView和TextView在layout中的层次是一致的。最后在代码中调用setEmptyView即可
<?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" >
<com.youqudao.rocket.widget.RefreshableListView
android:id="@+id/comment_lv"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:cacheColorHint="#00000000"
>
</com.youqudao.rocket.widget.RefreshableListView>
<TextView
android:id="@+id/empty_tv"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/temp_no_comment"
android:textColor="#c3ccd5"
android:textSize="15sp"
android:visibility="gone" />
<LinearLayout
android:id="@+id/input_lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/comment_input_bg"
android:gravity="center"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp" >
<EditText
android:id="@+id/comment_input_ed"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="4"
android:background="@drawable/input_selector"
android:hint="@string/add_comment_hint"
android:inputType="text"
android:textColor="#000000"
android:textColorHint="#c3ccd5"
android:textSize="15sp" />
<Button
android:id="@+id/comment_submit_bt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="@drawable/login_btn_bg"
android:text="@string/subbmit"
android:textColor="#ffffff"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>