Je souhaite remplacer mon fragment actuel par un nouveau lorsque je clique sur FloatingActionButton
. Je l'ai essayé avec un fragmentReplace, mais mon application continue à se bloquer.Remplacer fragment Cliquez sur
Ai-je raté quelque chose?
code:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
android.app.Fragment someFrag = new NewEventActivity();
replaceFragment(someFrag);
//Snackbar.make(view, "Hallo du heimlich pupsende :P", Snackbar.LENGTH_LONG)
// .setAction("Action", null).show();
}
});
}
public void replaceFragment(android.app.Fragment someFrag){
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.newEvent, someFrag);
transaction.addToBackStack(null);
transaction.commit();
}
Fragment:
public class NewEventActivity extends android.app.Fragment {
LayoutInflater inflater;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.new_event_fragment, container, false);
return rootView;
}
}
Logcat
processus: com.example.danny.myapplication, PID: 3123 java.lang.IllegalArgumentException: Pas de vue trouvée pour id 0x7f0c0082 (com.example.danny.myapplication: id/NewEvent) pour le fragment NewEventActivity {bd7d3d # 2 id = 0x7f0c0082} à android.support.v4.app. FragmentManagerImpl.moveToState (FragmentManager.java:1059) à android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1252) à android.support.v4.app.BackStackRecord.run (BackStackRecord.java: 742) at android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1617) à android.support.v4.app.FragmentManagerImpl $ 1.run (FragmentManager.java:517) à android.os.Handler.handleCallback (Handler.java:739) à android.os.Handler.dispatchMessage (Handler.java: 95) à android.os.Looper.loop (Looper.java:148) à android.app.ActivityThread.main (ActivityThread.java:5417) à java.lang.reflect.Method.invoke (méthode native) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
veuillez ajouter votre logcat – AbhayBohra
essayez-vous de remplacer le fragment actuel par un nouveau? – user1506104
android.support.v4.app.Fragment l'utilise à la place de android.app.Fragment. –