2012-05-25 3 views
3

Приложение имеет буксир Tabs, Tab A и Tab B, который расширяет фрагмент. Теперь мой вопрос: когда я нажимаю на элемент списка вкладки B, на вкладке должен быть вызван новый фрагмент C. С помощью следующего кода я могу вызвать фрагмент C, но не внутри вкладки.Android: Как перейти от одного фрагмента к другому, в Tab?

Intent intent = new Intent(); 
intent.setClass(getActivity(), C.class); 
startActivity(intent); 

Когда я использую действия, я могу решить проблему с помощью ActivityGroup. Есть ли аналогичный способ в Фрагментах.

ответ

0

пытается replase своего фрагмента:

protected void replaceDataFragment(Fragment fragment){ 
    android.app.FragmentTransaction ftr = getFragmentManager().beginTransaction(); 
    ftr.replace(R.id.data<id of your fragment layout>, fragment); 
     ftr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
     ftr.commit(); 
    } 
+0

Спасибо за ответ, я попытался с ответом, но не был успешным. Когда я использую действия, я могу решить проблему с помощью ActivityGroup. Есть ли аналогичный способ в Фрагментах. –

4

попробовать с этим кодом OnClick элемента списка

private void stackAFragment() { 
      Fragment f; 
      f = new MedicationOrderFragment(); 
      FragmentTransaction ft = getFragmentManager().beginTransaction(); 
      ft.replace(R.id.main_details_fragment_container, f); 
      ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); 
      ft.addToBackStack(null); 
      ft.commit(); 
     } 
+1

Спасибо за ответ, я попробовал с вашим ответом, но не был успешным. Когда я использую действия, я могу решить проблему с помощью ActivityGroup. Есть ли аналогичный способ в Фрагментах. –

+1

На самом деле, это очень хороший способ с фрагментом. Но не забывайте, что вы можете добавлять только новые фрагменты внутри действия (или фрагментация ... и т. Д.). Вы должны взглянуть на это http://developer.android.com/training/implementing-navigation/temporal.html –

0

С помощью этого кода вы можете просто начать новую деятельность, используя намерения. Попробуйте использовать это в вашем фрагменте:

getSupportFragmentManager().beginTransaction().replace(
R.id.my_container_in_xml, new MyFragment(), 0).commit(); 
+0

Спасибо за ответ, я пробовал с вашим ответом, но не был успешным. Когда я использую действия, я могу решить проблему с помощью ActivityGroup. Есть ли аналогичный способ в Фрагментах. –

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