У меня есть 9 списков, которые должны находиться под одной активностью. Все списки могут/не могут отображаться одновременно на экране (все в порядке).
Как использовать несколько списков в одном действии на Android?
Ответ 1
Вот достойное решение для более чем одного ListView в пределах одного действия. Сначала все важные файлы макета (скопированы из ANDROID: разделить экран на 2 равных части с 2 списками, хорошая работа!). Обратите внимание, что ListViews встроены в свои собственные LinearLayouts, каждый из которых имеет одинаковый вес.
<LinearLayout android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/list1"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ListView>
</LinearLayout>
<LinearLayout android:layout_weight="1"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<ListView android:id="@+id/list2"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</ListView>
</LinearLayout>
// Start java Code (you can figure out the imports)
public class AnActivity extends Activity {
private ListView lv1 = null;
private ListView lv2 = null;
private String s1[] = {"a", "b", "c", "d", "e", "f"};
private String s2[] = {"r", "s", "t", "u", "v", "w", "x"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get UI references.
//
lv1 = (ListView) findViewById (R.id.list1);
lv2 = (ListView) findViewById (R.id.list2);
lv1.setAdapter(new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, s1));
lv2.setAdapter(new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, s2));
} // onCreate()
} // class
Извините, если есть опечатки. Я редактирую прямо здесь, в окне, а не в затмении. Удачи!
Ответ 2
@Scott большое спасибо, я нашел это сообщение полезным. В моем случае я хотел, чтобы два списка отображались на одной горизонтальной компоновке (сбоку).
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="false" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:visibility="visible">
</ListView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
<ListView
android:id="@+id/listView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:visibility="visible">
</ListView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Ответ 3
Вы должны использовать просмотрщик страниц, посмотрите на этот пример, надеюсь, что это поможет вам http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/