使用 ActionBarActivity 而不是 ListActivity

Using ActionBarActivity instead of ListActivity

我自己的 activity 扩展列表 Activity 原因如下:

<ListView
    android:id="@android:id/list"
    android:layout_below="@+id/h_exercises"
    android:layout_above="@+id/btn_add_exercise"
    android:layout_marginTop="20dip"
    style="@style/general_list_view" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@android:id/list"
    android:layout_marginTop="20dip"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="@string/info_no_exercises_in_DB"
    android:id="@android:id/empty"
    android:layout_above="@+id/btn_add_exercise"/>

因此,如果 Activity 扩展了 ListActivity 并且您得到了一个 ID 为“@android:id/empty”的视图,如果列表是空的。

但是由于我的 Activity 需要一个 ActionBar,我需要通过 ActionBarActivity 扩展我的 Activity。那么有没有办法以编程方式实现这种情况?

可能是这样的:

@Override
protected void onResume() {        
    if (listview.getCount()!=0){
        textview.setVisibility(View.GONE);
    } else {
        listview.setVisibility(View.GONE);
    }         
}

感谢您的帮助和建议

问候鹅卵石

您可以使用 ListFragment 并将其放在 ActionBarActivity 中。 ListFragment 内置空视图功能。