Ich bin ein neuer Typ auf dieser Programmierwelt, also denke ich, dass diese Frage einfach ist. Ich habe also eine Bildschaltfläche auf meinem Fragment und ich möchte, dass wenn ich darauf klicke, es eine Fragmenttransaktion zu einem anderen Fragment macht; aber die Sache ist, dass, wenn ich die App laufen lasse und auf die Bildschaltfläche klicke, sie nur den Inhalt des anderen Fragments in das Bild überlagert, wo der Bildknopf ist, was ich natürlich tun möchte, ist nur, zu dem anderen Fragment zu gehen Ich habe mich schon eine Weile damit beschäftigt, also hoffe ich, dass mir jemand hilft, danke.FragmentTransaction in Fragment
Hier ist mein Java-Code des Fragments
public class inicio extends Fragment {
public inicio() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment_inicio,container,false);
ImageButton luces = (ImageButton)view.findViewById(R.id.imageButton);
luces.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
interior interior= new interior();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.inicioo, interior).commit();
}
});
}
}
Neuer Code ...
public class transaction extends MainActivity
implements com.example.administradora.prueba.inicio.OnSelectedListener{
public void onButtonSelected() {
interior interior= new interior();
getSupportFragmentManager().beginTransaction().replace(R.id.inicioo, interior).commit();
}
}
hinzugefügt, aber ich erhalte diesen Fehler in der logcat:
java.lang.RuntimeException : Die Aktivität konnte nicht gestartet werden ComponentInfo {com.beispiel.administratoradora.prueba/com.beispiel.administratoradora.prueba.MainActivity}: java.lang.ClassCastException: [email protected] mu st implementieren OnSelectedListener
Wie lautet der Name Ihres anderen Fragments? Der Grund, warum es "überlagert" ist, weil Sie '.replace' verwenden und die gleiche ID (' R.id.inicioo') angeben. – ishmaelMakitla
Mein anderes Fragment wird "Interior" genannt, also könntest du mir bitte sagen, wie wäre der Code, so dass ich ihn statt "überlagern" einfach zum anderen Fragment bringe? –
Fügen Sie die Layout-XML-Datei hinzu, in der Sie Ihre Fragmente deklariert haben (dies ist normalerweise Ihre Activity-Layoutdatei). Ich muss das sehen, damit ich Ihnen mitteilen kann, wie sich Ihr Code ändern muss. – ishmaelMakitla