一个活动中的多个列表视图

时间:2014-07-10 06:35:00

标签: android android-listview

对不起,如果我说英语不好, 如何在一个扩展ListActivity的活动中有多个Listview,如

private List<Tour> tours;
ArrayAdapter<Tour> adapter = new ArrayAdapter<Tour>(this, 
                    android.R.layout.simple_list_item_1, tours);
setListAdapter(adapter);

此代码适用于活动中的一个Listview,Listview的id是@android:id / list但我在一个活动中有两个或更多Lisview 请指导我

3 个答案:

答案 0 :(得分:2)

您可以使用ListFragment而不是ListActivity。

First Fragment:

public class FirstListFragment extends ListFragment {

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    private List<Tour> tours;
    ArrayAdapter<Tour> adapter = new ArrayAdapter<Tour>(this,android.R.layout.simple_list_item_1, tours);
    setListAdapter(adapter);
  }

  @Override
  public void onListItemClick(ListView l, View v, int position, long id) {
    // do something with the data
  }
} 

第二片段:

public class SecondListFragment extends ListFragment {

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    private List<Tour> tours;
    ArrayAdapter<Tour> adapter = new ArrayAdapter<Tour>(this,android.R.layout.simple_list_item_1, tours);
    setListAdapter(adapter);
  }

  @Override
  public void onListItemClick(ListView l, View v, int position, long id) {
    // do something with the data
  }
} 

现在您应该将片段添加到活动的xml文件中的布局:

<?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="horizontal" >

    <fragment android:name="com.your_package.FirstListFragment"
              android:id="@+id/first_fragment"
              android:layout_weight="1"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

    <fragment android:name="com.your_package.SecondListFragment"
              android:id="@+id/second_fragment"
              android:layout_weight="1"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

</LinearLayout>
你在这里找到了mor: http://www.vogella.com/tutorials/AndroidListView/article.html http://developer.android.com/training/basics/fragments/creating.html

答案 1 :(得分:1)

您应该在代码中扩展Activity而不是ListActivity。 在您的活动布局xml文件中,您应该为该两个列表视图使用两个不同的ID。

有关详细信息,请参阅以下参考链接...

http://www.coderzheaven.com/2012/03/02/a-simple-layout-with-two-listviews/

Multiple Listviews in single Activity in Android?

Android how to display 2 listviews in one activity one after the other

答案 2 :(得分:0)

您可以使用简单的活动扩展您的课程,并在其中添加多个ListView。