Как я могу использовать listview без расширения ListActivity в моем классе?
У меня есть приложение с различными вкладками (на вкладке). Каждая вкладка является активностью, которая расширяет активность и имеет некоторые textfields
и вещи на ней.
Теперь мне нужно, чтобы мои вкладки находились внутри списка, но в примере из руководства разработчика Android говорится, что вам нужно расширить ListActivity и не активность.
В принципе, мне нужно объединить эти два учебника:
Как я могу использовать listview
без расширения listactivity
в моем классе?
Мой XML файл:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp"/>
</LinearLayout>
</TabHost>
Ответы
Ответ 1
Ваш TabHost может содержать ListActivity
, так как он наследует от Activity
.
Но, если вы хотите научиться добавлять список в любом виде, следуйте этим инструкциям. Это достаточно просто, сделайте Activity
, добавьте Listview
в свой XML.
Используйте findViewById()
, чтобы получить Listview
.
Ответ 2
Это почти то же самое. Основываясь на Учебник ListView.
Вместо этого:
setListAdapter();
выполните следующие действия:
- Добавьте
<ListView>
в свой макет
- создайте поле var в
Activity
private ListView mListView;
в методе onCreate()
выполните следующее:
mListView = (ListView) findViewById(R.id.your_list_view_id);
mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
Я не помню, если ListActivity
предоставляет что-то большее.