2014-07-10 126 views
1

很抱歉,如果我不能講好英語, 如何在一個活動的多個列表視圖擴展ListActivity如多個列表視圖

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

這個代碼是在的活動,ListView控件的ID是一個列表視圖@機器人:ID /清單,但我有兩個或兩個以上Lisview在一個活動 請指引我

+1

然後你不應該擴展ListActivity,而是將其擴展爲正常的活動,並給每個列表視圖的唯一Id –

+0

ListActivity是專門爲一個單一的活動。如果你想在一個活動中使用多個Listview。您應該只擴展Activity類並創建多個listivew。 –

+0

[Android如何在一個活動中依次顯示2個列表視圖]的可能重複(http://stackoverflow.com/questions/17693578/android-how-to-display-2-listviews-in-one-activity-一後的,其他) – ntv1000

回答

0

您可以用簡單的活動擴展您的類,並在其中添加多個列表視圖。

2

您可以使用ListFragment改爲ListActivity。

第一塊碎片:

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> 

你發現鐵道部在這裏: http://www.vogella.com/tutorials/AndroidListView/article.html http://developer.android.com/training/basics/fragments/creating.html

+0

給出一個錯誤(構造函數ArrayAdapter (MainActivity,INT,列表)是不確定的) – user3824114

+0

ArrayAdapter 適配器=新ArrayAdapter (getActivity(),android.R.layout.simple_list_item_1,旅遊服務);相反,「this」使用getActivity(),因爲Fragment對象不是Context的子項。 –