2016-02-25 4 views
2

Звоню активность моего fragment.Inside фрагмент я сделать это внутри onCreateViewандроид возвращения к фрагменту от активности

imageViewadd.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View v) { 
     Intent intent = new Intent(getActivity(), AjouterNC.class); 
     startActivity(intent); 
    } 
}); 

Теперь от моей деятельности я пытаюсь вернуться к фрагменту после отправки данных в Asyntask

protected void onPostExecute(Void result) { 
    super.onPostExecute(result); 
    Submit.setEnabled(true); 
    FragmentManager fm = getFragmentManager(); 
    if(getFragmentManager().getBackStackEntryCount() != 0){ 
     getFragmentManager().popBackStack(); 
    } 
} 

Я пробовал разные способы, но я не нашел решения. Любая помощь будет оценена по достоинству?

+0

только использовать финиш(); –

+0

спасибо за ваш ответ. Я ищу способ перезагрузить мой фрагмент с финишем(), фрагмент не перезагрузился – hamza437

ответ

2

Используйте этот код может быть помочь вам

Fragment frag = new MyFragment(); 
if (fragment != null) { 
     FragmentManager fragmentManager = getFragmentManager(); 
     fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit(); 
    } 

`

0

Вам нужно добавить фрагмент в backstack. Когда вы создаете новое действие, ваш фрагмент удаляется и должен быть добавлен снова. Решение состоит в том, чтобы сохранить код добавления фрагмента в onStart() активности.

Например, у вас есть фрагмент F в действии A. Когда событие щелчка происходит в фрагменте F, вы начинаете действие с именем AjouterNC. Фрагмент F удаляется из активности, onStop() операции A вызывается, а активность A добавляется в заднюю часть. Когда вы нажимаете кнопку «назад» в AjouterNC, активность A возвращается в начало и вызывается onStart(). В методе onStart() сохраните код для добавления или замены фрагмента.

1

Так вы можете вызвать фрагмент из Activity в android.

FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager 
         .beginTransaction(); 
    MyFragment fragmentS = new MyFragment(); 
       fragmentTransaction.replace(R.id.main_content_fragment, fragmentS); 
       fragmentTransaction.commit(); 

Если вы используете Activity extends FragmentActivity использовать getSupportFragmentManager() вместо getFragmentManager()

main_content_fragment ваш корпус контейнера, где вы на самом деле разместить фрагмент. Удачи !!

+0

благодарит за ответ, но у меня есть проблема, моя деятельность простирается от AppCompatActivity, а мой фрагмент простирается от Fragment i use этот код android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction(); PNC Фрагмент фрагмента = новый PNCFragment(); fragmentTransaction.replace (R.id.container, fragmentS); fragmentTransaction.commit(); – hamza437

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