2014-01-10 56 views
1

所以,我有一個列表視圖父類別AAndroid - 使用片段的多級列表視圖

現在,如果我按下列表中的一個項目,它將轉到其相應的子類別B

我應該使用片段類別B?在此之前,我解僱了一項新活動,以顯示類別B的列表。現在我正在使用片段類別A,所以我問,這是一個最好的做法,使兒童listview片段呢?

如果是這樣,有沒有關於如何使用片段做多級listview的任何教程?或者我應該重用列表視圖A中的片段來填充列表視圖B?

這是我如何做到這一點:

mainactivity包含導航抽屜項:

public class MainActivity extends FragmentActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      // add navdraweritems 
      // set adapter for navdraweritems 
     } 

     // do the rest of the activity 
     // navdraweritems listener 
} 

CategoryFragment

public class CategoryFragment extends Fragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.fragment_category, container, 
       false); 

     listView = (ListView) rootView.findViewById(R.id.catListView); 
     listView.setAdapter(va); 

     loadCategory(); 

     return rootView; 
    } 
} 

我應該在哪裏放置itemclicklistener下一個頁面(子列表視圖B)?

回答

1

這是非常有用的例子。

reference link

在這個例子中

,它是在fragement類使用的ListView .. 我希望它的對你有用

1

重用列表視圖中的一個片段來填充列表視圖乙

但是當您這樣做時,請確保您正確處理後退按鈕。如果Category B是另一個ListView請致電

setListAdapter(adapter); 
adapter.notifyDataSetChanged(); 

參考文獻: http://developer.android.com/reference/android/app/ListFragment.htmlhttp://developer.android.com/training/basics/fragments/communicating.html

+0

如果我使用ListFragment而不是片段,這是否意味着我必須使用setListAdapter不是自定義適配器?因爲在文檔中說「不要直接調用ListView.setAdapter(),否則重要的初始化將被跳過。」那是什麼意思? – AimanB

+0

如果你打算在你的'Fragment'中使用'ListView',然後使用'ListFragment'' setListAdapter'。這是'ListFragment'的適配器實現。 – PsyGik