Je n'ai qu'une activité avec 2 Fragments en son sein. Au démarrage de l'activité, le fragment A sera lancé. Après que l'utilisateur tape dans sth et clique le bouton dirigera vers le fragment B. Donc ce que je veux faire est que par ajoutant une "flèche arrière" sth comme ceci < - dans le coin supérieur gauche.Comment retourner à Fragment précédent en cliquant sur le bouton Précédent (pas sur le bouton Matériel)?
Est-ce que cela a à voir avec FragmentManager.popBackStack()? S'il vous plaît avis! Thx
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager manager=getSupportFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
first first=new first();
transaction.add(R.id.top,first);
transaction.commit();
}
}
first.java
public class first extends Fragment implements View.OnClickListener{
Button get_button;
EditText get_input_name;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_first,container,false);
get_input_name=(EditText)rootView.findViewById(R.id.input_name);
get_button=(Button)rootView.findViewById(R.id.submit);
get_button.setOnClickListener(this);
return rootView;
}
public void onClick(View v){
FragmentManager manager=getFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
two Two=new two();
Bundle bundle = new Bundle();
bundle.putString("input_name_value",get_input_name.getText().toString());
Two.setArguments(bundle);
transaction.replace(R.id.top,Two);
transaction.commit();
}
}
two.java
public class two extends Fragment implements View.OnClickListener {
TextView get_display_input;
ImageView get_back_button;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_two, container, false);
}
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
get_display_input=(TextView)getActivity().findViewById(R.id.display_input);
get_back_button=(ImageView) getActivity().findViewById(R.id.back_button);
Bundle bundle = getArguments();
String get_name = bundle.getString("input_name_value");
//int store_get_input=Integer.parseInt(get_name);
get_display_input.setText("You have entered "+get_name);
}
public void onClick(View v){
// WHAT TO DO HERE IN ORDER TO RETURN TO PREVIOUS Fragment when clicking the button?
}
}
Pour être plus précis, veuillez vous reporter à la capture d'écran.
double possible de [Comment mettre en œuvre onBackPressed() dans fragments Android?] (http: // stackoverflow.com/questions/5448653/how-to-implement-onbackpressed-in-android-fragments) – Bryan
Copie possible de [Android Fragment gérer retour bouton de presse] (http://stackoverflow.com/questions/7992216/android-fragment-handle -back-button-press) – EpicPandaForce