2014-01-10 4 views
1

Итак, у меня есть список из материнской категории A.Android - многоуровневое представление списка с использованием фрагмента

Теперь, если я нажму один из предметов в списке, он перейдет к соответствующей категории детей категории 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 на следующей странице (child listview B)?

ответ

1

Это очень полезный пример.

reference link

в этом примере, это использование ListView в fragement классе .. я надеюсь, что его полезным для вас

1

повторно фрагмент в Listview А для заполнения ListView Аргументы B

Но когда вы это сделаете, убедитесь, что вы правильно управляете кнопкой «Назад». Если 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

Если вы планируете использовать «ListView» в своем «Фрагменте», используйте «ListFragment» 'setListAdapter'. Это реализация адаптера для «ListFragment». – PsyGik

Смежные вопросы