0

First ScreenКак передать один фрагмент другому фрагменту в меню вкладки?

После того как пользователь заполнить пробелы этот экран обнаружился:

Second Screen

Это предупреждение диалог. Это код здесь:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    builder.setTitle("Congratulations!"); 
    builder.setMessage("You finished Level 1. Do you want to start Level 2?"); 
    builder.setNegativeButton("Not now", new DialogInterface.OnClickListener(){ 
     public void onClick(DialogInterface dialog, int id) { 

     } 
    }); 
    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 

     } 
    }); 

    builder.show(); 

Я хочу передать вкладку «Уровень 2», когда пользователь нажимает кнопку «ДА».

Это то, что я пытался в OnClick:

FragmentManager fm = getChildFragmentManager(); 
fm.beginTransaction().replace(R.layout.activity_level2, new Level2()).commit(); 

Я получаю эту ошибку:

java.lang.IllegalArgumentException: No view found for id 0x7f04001f (translatingthecaps.translatethecaps:layout/activity_level2) for fragment Level2{60d2f9f #0 id=0x7f04001f} 

Я просто только этот код в Level 2 Фрагмент:

public class Level2 extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view=inflater.inflate(R.layout.activity_level2, container, false); 

     return view; 
    } 
} 

Перед Появилось диалоговое окно с предупреждением. Я вижу вкладку «Уровень 2».

Third Screen

+0

Не заменять фрагмент. Обратный вызов активности для переключения позиций табуляции. –

ответ

2

При использовании пейджера, вы не должны явно вызывать FragmentTransaction, все, что вам нужно сделать, это

pager.setCurrentItem(2); 

Поскольку ваш пейджер не доступен из вашего фрагменту должен использовать прослушиватель, чтобы установить обратный вызов активности, вот как его использовать. How to implement OnFragmentInteractionListener

+0

Я не умею кодировать. Ответы на этот вопрос мне были трудны. Я попытался реализовать его, но у меня нет активности фрагментов, которая открылась как пустой фрагмент. Когда я попробовал setCurrentItem, я получаю следующее: «E/ViewRootImpl: sendUserActionEvent() mView == null» –

+0

Можете ли вы показать нам активность и фрагмент1? –