2013-08-19 4 views
0

Я создал действие, содержащее 5 фрагментов, и один из фрагментов содержит страницу профиля, и я создал другое действие для редактирования страницы профиля, но когда я нажму кнопку сохранения, вернитесь в Edit (фрагмент). Аварии приложение .. мне нужна помощь или предложенияпереход от фрагмента к активности и обратно к фрагменту

это мой фрагмент кода ниже:

public class MeFragment extends Fragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View view = inflater.inflate(R.layout.me, container, false); 

    Button bt = (Button) view.findViewById(R.id.btedit); 
    bt.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent i = new Intent(getActivity(), Editme.class); 
      startActivity(i); 
     } 
    }); 

    return view; 
} 

и это является EDITME Класс:

Button btnLoad = (Button) findViewById(R.id.btsave); 
OnClickListener listener = new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      FragmentManager fragmentManager = getFragmentManager(); 

      FragmentTransaction fragmentTransaction = fragmentManager 
        .beginTransaction(); 
      MeFragment save = new MeFragment(); 
      fragmentTransaction.add(R.id.fragment_content, save); 
      fragmentTransaction.commit(); 

     } 
    }; 

    btnLoad.setOnClickListener(listener); 
+0

показать нам ваш стек. –

+0

вы пытаетесь попросить хостинг FragmentManager другого действия или действия редактирования. Это не сработает. Сначала закройте работу, а затем перейдите к фрагментам. Или используйте ActivityForResult на первом месте. – bofredo

ответ

1

Если вы открыли другую деятельность и после того, как сделав некоторые изменения, которые вы хотели бы вернуться к предыдущему действию (с 5 фрагментами), просто вызовите метод завершения, а не выполняйте транзакцию фрагмента.

OnClickListener listener = new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      finish(); 
     } 
} 
+0

Я хотел бы вернуться к фрагменту, с которого я переключился, потому что мне пришлось бы передавать данные из этой активности в файл фрагмента. Image и два текстовых вида. Возможно, если вы можете дать мне код, который может работать – user2695755

+0

, пожалуйста, ребята могут мне помочь – user2695755

+0

вы можете всегда использовать вместо startActivity startActivityOnResult, а затем после возврата к 1-й активности onActivityResult вызывается, где вы можете выбрать соответствующий фрагмент. Но я не уверен, разрешено ли использование транзакции commit на фрагменте во время onActivityResult. Таким образом, вам может потребоваться использовать commitAllowingStateLoss – Mike