Alte Activity wird beim Öffnen von neuer Activity geschlossen.

  • 3 Antworten
  • Letztes Antwortdatum
M

Merry-go-round

Neues Mitglied
0
Hallo liebe Leute,

ich habe folgendes Problem:

In meiner MainActivity gibt es einen Button, wenn ich drauf klicke, öffnet sich eine zweite Activity. Dafür habe ich folgenden Code benutzt:

Intent myIntent = new Intent(v.getContext(), ZweiteActivity.class);
startActivity(myIntent);

Die zweite Activity enthält nur ein kleines ImageView, der Rest ist transparent (realisiert über Theme.Translucent.NoTitleBar.Fullscreen) und die zweite Activity soll über der MainActivity liegen und diese nur um das ImageView "ergänzen".

Das Ding ist jetzt:
Auf meinem Handy (API Level 21) funktioniert es genau wie es soll. Auf dem Handy von meinem Projektpatner verschwindet beim Klick auf dem Button die MainActivity, man sieht nur noch das kleine ImageView und seinen Handy Hintergrund. Wieso wird bei ihm (API Level 19) die MainActivity geschlossen, wenn man die neue Activity öffnet? Das API Level wurde beim Erstellen des Projektes auf 15 eingestellt, die App kann eigentlich nicht zu "neu" für sein Handy sein. Hat jemand vielleicht eine Idee, woran es liegen könnte?

Vielen Dank schonmal
 
wundert mich dass es bei Lollipop überhaupt funktioniert...
 
Habe es noch auf weiteren Telefonen probiert. Scheint wohl Zufall zu sein, dass es auf meinem klappt.
Dann würde ich die Sache gerne anders realisieren.
Ich habe die zweite Activity jetzt als PopupWindow erstellt. Diese enthält einen ImageButton. Wenn ich auf diesen ImageButton klicke, möchte ich, dass eine zweites PopupWindow öffnet und das erste überlagert.
Mit dem ersten PopupWindow klappt es einwandfrei, nur wenn ich das zweite PopupWindow via Klick auf den ImageButton im ersten PopupWindow mache, stürzt die App ab...

Habe es hiermit versucht:

final ImageButton btnOpenPopup =(ImageButton) findViewById(R.id.button_name);
btnOpenPopup.setOnClickListener(newButton.OnClickListener(){

@Overridepublicvoid onClick(View v){

LayoutInflater layoutInflater=(LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);

View popupView = layoutInflater.inflate(R.layout.popup_fertig,null);

final PopupWindow popupWindow =newPopupWindow(
popupView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

popupWindow.showAtLocation(btnOpenPopup,Gravity.TOP |Gravity.RIGHT,0,0);


Button btn_2 =(Button) popupView.findViewById(R.id.button_2);
btn_2.setOnClickListener(newButton.OnClickListener(){

@Overridepublicvoid onClick(View v){// TODO Auto-generated method stubLayoutInflater layoutInflater_2=(LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);

View popupView_2 = layoutInflater.inflate(R.layout.popup_2,null);

final PopupWindow popupWindow_2 =newPopupWindow(
popupView_2,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

popupWindow_2.showAtLocation(btn_2,Gravity.TOP |Gravity.RIGHT,0,0);


}}});


}
 
Oftmals ist es empfehlenswert den LogCat gleich mitzuposten. So muss man sich meistens nciht die Mühe machen den Code durchzugehen.

Der Code wäre so auch etwas übersichtlicher:

PHP:
final ImageButton btnOpenPopup =(ImageButton) findViewById(R.id.button_name);

btnOpenPopup.setOnClickListener(newButton.OnClickListener(){

    @Override
    public void onClick(View v){
        LayoutInflater layoutInflater=(LayoutInflater) getBaseContext()
                                      .getSystemService(LAYOUT_INFLATER_SERVICE);
        View popupView = layoutInflater.inflate(R.layout.popup_fertig,null);
        final PopupWindow popupWindow =new PopupWindow( popupView,
                                           LayoutParams.WRAP_CONTENT,
                                           LayoutParams.WRAP_CONTENT);
        popupWindow.showAtLocation(btnOpenPopup,Gravity.TOP |Gravity.RIGHT,0,0);


        Button btn_2 =(Button) popupView.findViewById(R.id.button_2);
        btn_2.setOnClickListener(newButton.OnClickListener(){
            @Override
            public void onClick(View v){
                LayoutInflater layoutInflater_2=(LayoutInflater) getBaseContext()
                                                .getSystemService(LAYOUT_INFLATER_SERVICE);

                View popupView_2 = layoutInflater.inflate(R.layout.popup_2,null);

                final PopupWindow popupWindow_2 =new PopupWindow(popupView_2,
                                                     LayoutParams.WRAP_CONTENT,
                                                     LayoutParams.WRAP_CONTENT);

                popupWindow_2.showAtLocation(btn_2,Gravity.TOP |Gravity.RIGHT,0,0);
            }
        }
    }
});

Ich kenne mich mit Popup windows nciht aus aber prüf mal ob du irgendwo ein null objekt zurückbekommst bzw. poste den LogCat(Fehler)
 

Ähnliche Themen

S
Antworten
7
Aufrufe
1.196
Silvasurf
S
AnnaBauer21
Antworten
0
Aufrufe
487
AnnaBauer21
AnnaBauer21
AnnaBauer21
Antworten
6
Aufrufe
986
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten