使用ActionBarActivity而不是ListActivity(Using ActionBarActivity instead of ListActivity)

我自己的活动扩展了ListActivity,原因如下:

<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); } }

感谢您的帮助和建议

迎接鹅卵石

my own activity extends the ListActivity for the following reason:

<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"/>

So if the Activity extends ListActivity and u got a view with id "@android:id/empty", the view will be shown if the list is empty.

But since my Activity needs an ActionBar i need to extend my Activity by ActionBarActivity. So is there a way to implement this scenario programmatically?

Maybe something like:

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

Thanks for your help and suggestions

greets Pebbles

最满意答案

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

You can use a ListFragment and put it inside an ActionBarActivity. ListFragment has built-in empty view feature.

使用ActionBarActivity而不是ListActivity(Using ActionBarActivity instead of ListActivity)

我自己的活动扩展了ListActivity,原因如下:

<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); } }

感谢您的帮助和建议

迎接鹅卵石

my own activity extends the ListActivity for the following reason:

<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"/>

So if the Activity extends ListActivity and u got a view with id "@android:id/empty", the view will be shown if the list is empty.

But since my Activity needs an ActionBar i need to extend my Activity by ActionBarActivity. So is there a way to implement this scenario programmatically?

Maybe something like:

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

Thanks for your help and suggestions

greets Pebbles

最满意答案

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

You can use a ListFragment and put it inside an ActionBarActivity. ListFragment has built-in empty view feature.