solaris63
Dauer-User
- 305
Wenn man eine Actionbar hat, und aus welchen Gründen auch immer keine Tabs benutzen möchte (ich hab meine Grüne ), vor ein paar Tagen fiel mir ne gute Idee ein:
Ich habe diese Actionbar gehabt:
Wie man sieht, fügt sie 2 (noja eigentlich 3 ) "Menüpunkte" hinzu: Mathematik und Physik.
In der anderen .java steht dann diese Code:
Also falls man auf Mathematik drückt, wird einfach garnix gemacht, wenn man auf Physik drückt, wird eine zweite Activity gestartet.
In der zweiten Activity ist dann dieser Code, der dafür sorgt, dass wenn man auf Physik drückt, nichts geschieht (bzw. ein leckerer Toast wird gebacken ), aber wenn man auf Mathematik drückt, wird Mathematik geöffnet:
Das Problem war bzw. ist nur, dass wenn man ein paar Mal auf Mathematik, danach auf Physik, danach auf Mathmatik etc. drückt, man beim Drücken auf den "Zurück"-Knopf (hardware, softkeys) dann zurückgeschickt wird..unzwar über alles, was man besucht hat. Also man muss sich dann durch Physik, Mathmatik, Physik, Mathematik etc. zurückkämpfen (gut, fast jeder hat auch einen Home-Knopf, aber dennoch unschön ).
Lösung:
Bei den Android Developers have ich einige Stunden, bevor ich das oben beschriebene Problem bemerkt habe, was über die Actionbar gelesen und da stand, dass es einen Befehl gibt, um ein "Up" zu machen, ähnlich wie im Explorer auf dem Computer.
Also wird diese Code den "Physik" Knopf nicht die Mathematik-Activity noch ein Mal öffnen, sondern einfach zurück gehen:
Okay, dieser Tip wird vielleicht 1 millionstel aller Leser hier betreffen, aber solange ich kein eigenes Forum erstellt habe, poste ich das woanders, einfach nur, damit das bei Google gefunden wird
Ich habe diese Actionbar gehabt:
Code:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_settings"
android:orderInCategory="100"
android:showAsAction="never" />
<item
android:id="@+id/maths"
android:title="@string/maths"
android:orderInCategory="1"
android:showAsAction="always|withText"
android:titleCondensed="@string/maths"
android:icon="@drawable/ic_action_calculator" />
<item
android:id="@+id/physics"
android:icon="@drawable/ic_action_line_chart"
android:title="@string/physics"
android:orderInCategory="2"
android:showAsAction="always|withText"/>
</menu>
Wie man sieht, fügt sie 2 (noja eigentlich 3 ) "Menüpunkte" hinzu: Mathematik und Physik.
In der anderen .java steht dann diese Code:
Code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_home, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.maths:
return true;
case R.id.physics:
Intent myIntent2 = new Intent(Home.this, ActivityPhysics.class);
startActivity(myIntent2);
default:
return super.onOptionsItemSelected(item);
}
}
In der zweiten Activity ist dann dieser Code, der dafür sorgt, dass wenn man auf Physik drückt, nichts geschieht (bzw. ein leckerer Toast wird gebacken ), aber wenn man auf Mathematik drückt, wird Mathematik geöffnet:
Code:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.maths:
Intent myIntent2 = new Intent(Home.this, ActivityPhysics.class);
startActivity(myIntent2);
return true;
case R.id.physics:
Toast.makeText(getApplicationContext(), "Du bist bereits bei Physik :)", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Lösung:
Bei den Android Developers have ich einige Stunden, bevor ich das oben beschriebene Problem bemerkt habe, was über die Actionbar gelesen und da stand, dass es einen Befehl gibt, um ein "Up" zu machen, ähnlich wie im Explorer auf dem Computer.
Also wird diese Code den "Physik" Knopf nicht die Mathematik-Activity noch ein Mal öffnen, sondern einfach zurück gehen:
Code:
case R.id.maths:
/*Intent myIntent2 = new Intent(ActivityPhysics.this, Home.class);
startActivity(myIntent2);*/
Intent intent = new Intent(this, Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
Okay, dieser Tip wird vielleicht 1 millionstel aller Leser hier betreffen, aber solange ich kein eigenes Forum erstellt habe, poste ich das woanders, einfach nur, damit das bei Google gefunden wird