Erst beim zweiten Mal zurück wieder im Hauptfenster

  • Antworten:8
  • Bentwortet
Eve
  • Forum-Beiträge: 25

05.08.2013, 19:54:01 via Website

Hallo,

in meiner App habe ich ein Hauptfenster und zwei Buttons, mit denen jeweils eine neue Activity aufgerufen wird. Mit dem Zurück-Button des Handys kommt man wieder ins Hauptfenster.

Jetzt muss man aber zweimal auf den Zurück-Button des Handys drücken, erst dann tut sich was. Beim ersten Mal Zurück passiert nichts!

Ich übergebe an beide Unterfenster einen Intent und beende die Fenster am Ende meiner Funktion mit finish();


Was mache ich noch falsch?

Danke!
:-)
LG,
Eve

Antworten
Kinq__#
  • Forum-Beiträge: 47

05.08.2013, 22:13:43 via Website

Verstehe ich das richtig?
Hauptfenseter->Button klick->1. Activity
1. Activity->Zürück Button 1. Klick passiert nichts beim 2. klick kommt es wieder ins Haupfenster zurück??
Was ist alles in der 1.Actvity?

Antworten
Eve
  • Forum-Beiträge: 25

05.08.2013, 22:49:40 via Website

ja genau so ist es.

in der 1. Activity gibt es zwei EditText-Felder, zwei TextViews und einen Speichern-Button. Die beiden EditTexts sind leer, man kann in beide Felder was eintragen, wenn man auf Speichern klickt, werden die Einträge in einer XML-Datei gespeichert.

Aber auch wenn ich nichts mache, ich klicke im Hauptfenster einfach auf den Button "Neu", die 1. Activity geht auf, dann klicke ich sofort auf Zurück, ohne irgendwas einzutragen oder zu speichern, und geht nicht beim ersten Mal...

Mein onCreate() der 1. Activity ist ganz "nackig":
1@Override
2 protected void onCreate(Bundle savedInstanceState)
3 {
4 super.onCreate(savedInstanceState);
5
6 setContentView(R.layout.activity_neue_situation);
7 Bundle extras = getIntent().getExtras();
8
9 if(extras != null)
10 {
11 Log.i(LOG_TAG," extras != null. :-) ");
12 // dummy falls wir das mal brauchen
13 ;
14 }
15
16 buttonNewSave = (Button)findViewById(R.id.btnNewSitSave);
17 buttonNewSave.setOnClickListener(this);
18 }

Liegt's vielleicht am getIntent() ? Soll ich das mal weglassen? Mache ich aber heute nicht mehr...
;-)

Antworten
Kinq__#
  • Forum-Beiträge: 47

06.08.2013, 00:16:55 via Website

Eve
ja genau so ist es.

in der 1. Activity gibt es zwei EditText-Felder, zwei TextViews und einen Speichern-Button. Die beiden EditTexts sind leer, man kann in beide Felder was eintragen, wenn man auf Speichern klickt, werden die Einträge in einer XML-Datei gespeichert.

Aber auch wenn ich nichts mache, ich klicke im Hauptfenster einfach auf den Button "Neu", die 1. Activity geht auf, dann klicke ich sofort auf Zurück, ohne irgendwas einzutragen oder zu speichern, und geht nicht beim ersten Mal...

Mein onCreate() der 1. Activity ist ganz "nackig":
1@Override
2 protected void onCreate(Bundle savedInstanceState)
3 {
4 super.onCreate(savedInstanceState);
5
6 setContentView(R.layout.activity_neue_situation);
7 Bundle extras = getIntent().getExtras();
8
9 if(extras != null)
10 {
11 Log.i(LOG_TAG," extras != null. :-) ");
12 // dummy falls wir das mal brauchen
13 ;
14 }
15
16 buttonNewSave = (Button)findViewById(R.id.btnNewSitSave);
17 buttonNewSave.setOnClickListener(this);
18 }

Liegt's vielleicht am getIntent() ? Soll ich das mal weglassen? Mache ich aber heute nicht mehr...
;-)

Bei mir funkts ohne probleme aber hier beim Button abspeichern wie du das hast bekomme ich immer ne fehler meldung. War das vieleicht ein einfüge fehler hier ins Forum?
Der OnClickListener habe ich immer so ->
1final Button buttonNewSave = (Button) findViewById(R.id.btnNewSitSave);
2 buttonNewSave.setOnClickListener(new Button.OnClickListener() {
3 public void onClick(View v)
4 {
5 // Action
6 }
7 });

Antworten
Eve
  • Forum-Beiträge: 25

06.08.2013, 05:56:12 via Website

danke für eure Antworten aber irgendwie verstehe ich grad nur Bahnhof...
Ob ich einen Fehler beim Kopieren gemacht hab weiß ich nicht. Ich hab halt den onCreate markiert, und copy-paste...

Hier ist mal mein onClick:

1@Override
2 public void onClick(View arg0)
3 {
4
5 String tip = null;
6 String situation = null;
7
8 neuerTip = (EditText) findViewById(R.id.editTextTip);
9 neueSituation = (EditText)findViewById(R.id.editTextSituation);
10
11 if(arg0 == buttonNewSave)
12 {
13 if(neuerTip.length() < 1)
14 {
15 msgtxt = "Bitte einen neuen Tip angeben";
16 Toast.makeText(this, msgtxt, Toast.LENGTH_SHORT).show();
17 return;
18 }
19
20 if(neueSituation.length() < 1)
21 {
22 msgtxt = "Bitte eine neue Situation angeben";
23 Toast.makeText(this, msgtxt, Toast.LENGTH_LONG).show();
24 return;
25 }
26 tip = neuerTip.getText().toString();
27 situation = neueSituation.getText().toString();
28
29
30 msgtxt = "situation ="+ situation + ", tip = " + tip;
31 Log.i(LOG_TAG,msgtxt);
32
33 // in dieser Funktion speichere ich die Situation und den Tip
34 SaveNewSituationAndTip("GFSE", situation,tip);
35
36 // wir geben "Und tschüß" zurück und beenden dieses Fenster
37 Intent intent = new Intent();
38 intent.putExtra("Antwort", "Und Tschüß");
39 setResult(RESULT_OK,intent);
40 finish();
41 }
42
43
44 } // end of onClick

Dann kann das Problem ja eigentlich nur in meiner Funktion liegen, oder? Ich probiere es heute Abend mal aus und lasse die SaveNewSituation() weg...

Hey! Warum werden den die Einrückungen nicht übernommen???? Im Schreib-Modus schaut mein Code gut aus! Mit allen Einrückungen! Wenn ich dann auf "Beitrag speichern" klicke, sind die Tabs weg!! ?????

— geändert am 06.08.2013, 05:57:52

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

06.08.2013, 09:56:28 via Website

Warum werden den die Einrückungen nicht übernommen???? Im Schreib-Modus schaut mein Code gut aus! Mit allen Einrückungen! Wenn ich dann auf "Beitrag speichern" klicke, sind die Tabs weg!!

Liegt nicht an dir, sondern an der Forensoftware;
wird schon seit Jahren regelmäßig kritisiert und vom Betreiber ebenso regelmäßig vollständig ignoriert.


ich klicke im Hauptfenster einfach auf den Button "Neu", die 1. Activity geht auf, dann klicke ich sofort auf Zurück, ohne irgendwas einzutragen oder zu speichern, und geht nicht beim ersten Mal...

Zeig mal den Aufruf-Code; das bei Zurück nichts passiert kann nicht sein, daher vermute ich etwas in der Art das die Activity 2mal gestartet wird.
Dein "Tschüß" Code sieht auf den ersten Blick OK aus, ist aber auch irrelevant, wenn das Problem nicht beim Klick auf den Button auftritt (sondern [auch] beim Drücken der Zurück-Taste).

Antworten
Eve
  • Forum-Beiträge: 25

06.08.2013, 16:02:30 via Website

BINGO !!!!
:-))))))))))

Mitten ins Schwarze, genau das war's ! Ich hatte folgenden Code im onClick-Button des Hauptfensters:

1startActivity(intent);
2startActivityForResult(intent, UNTERACTIVITY_ID);

Da wär ich nie im Leben drauf gekommen!!!
Vielen Dank!!
:-))

LG,
Eve

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

06.08.2013, 18:44:43 via Website

Na, das war ja dann einfach ;-)

Antworten