2014-01-10 4 views
1

그래서 상위 카테고리 A의 목록보기가 있습니다.안드로이드 - 조각을 사용하는 다중 레벨 목록보기

이제 목록의 항목 중 하나를 누르면 해당 하위 범주 B으로 이동합니다.

카테고리 B 조각에 조각을 사용해야합니까? 이 전에 나는 카테고리 B의 목록을 보여주기위한 새로운 활동을 시작했습니다. 지금은 category A에있는 단편을 사용하고 있습니다. 그렇기 때문에 하위 목록 뷰를 단편화하는 것이 가장 좋습니다.

그렇다면 조각을 사용하여 다중 레벨 목록보기를 수행하는 방법에 대한 자습서가 있습니까? 또는 Listview A의 조각을 재사용하여 listview B를 채워야합니까? 여기

은 내가 그것을 할 방법 :

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을 넣어해야합니다 (mainactivity에서

은 탐색 창 항목을 포함 하위 목록 B)?

답변

1

이리스트 뷰 B를 채울 목록보기 A의 조각을 다시 당신의 도움을 바랍니다 .. 의 fragment 클래스의 사용 목록보기입니다

하지만 그렇게 할 때 뒤로 버튼을 제대로 처리했는지 확인하십시오. 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

관련 문제