2013-10-21 143 views
0

我正在開發一個應用程序,我需要在同一活動上調用多個ListFragments。它包含主要的父母ListFragment,其中有10行。 通過點擊每一行我需要打開新的子ListView旁邊的父ListView像這樣()。我的編碼是從片段onclick監聽器調用childview

public class FragmentListArray extends Activity { 


    static String[] TITLES = 
      { 
        "Henry IV (1)", 
        "Henry V", 
        "Henry VIII",  
        "Richard II", 
        "Richard III", 
        "Merchant of Venice", 
        "Othello", 
        "King Lear" 
      }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Create the list fragment and add it as our sole content. 
     if (getFragmentManager().findFragmentById(android.R.id.content) == null) { 
      ArrayListFragment list = new ArrayListFragment(); 
      getFragmentManager().beginTransaction().add(android.R.id.content, list).commit(); 
     } 
    } 

    public static class ArrayListFragment extends ListFragment { 

     @Override 
     public void onActivityCreated(Bundle savedInstanceState) { 
      super.onActivityCreated(savedInstanceState); 
      setListAdapter(new ArrayAdapter<String>(getActivity(), 
        android.R.layout.simple_list_item_1, FragmentListArray.TITLES)); 
     } 

     @Override 
     public void onListItemClick(ListView l, View v, int position, long id) { 
      // here i need to achieve my childview click listener.. 
     } 
    } 
} 

我不知道如何設置onitem點擊監聽器。幫助我實現上述目標。提前致謝。

+0

我認爲你可以使用下拉菜單,你可以設置顯示第二個菜單。如果你想,你可以檢查這個鏈接:http://www.codeofaninja.com/2013/04/show-listview-as-drop-down-android.html – Arshu

+0

@ArshadParwez感謝你的回覆。我想使用listfragment,並通過點擊,我需要我的孩子listview出現。 – AndroidOptimist

+0

您可以在下拉菜單中傳遞自定義列表視圖。它會顯示爲一個子列表 – Arshu

回答

0

您可以使用getActivity()並將結果轉換到您的活動的類以獲取包含片段的活動的實例。
定義一些函數,它將接受項目的id,具體取決於你需要在sectond list Fragment中加載數據。應該是這樣的:

YourActivity activity = (YourActivity)getActivity(); 
activity.fillSecondFragment(clickedItemId);