Android Galaxy S2 Touch Taste

Chiqsaw

Mitglied
Hallo,
Ich bin gerade dabei ein kleines Programm zu coden was mich durch verschiedenen Menüs führt, also z.B. klicke ich einen Button, dieser führt mich auf eine Weitere seite auf der Infos zu diesem Button stehen.
"Zurück" Button habe ich bis jetzt auch immer einprogrammiert gehabt, ABER ich würde gerne wissen wie ich einen Listener implementiere der mir z.B. von meinem Galaxy S2 die eh schon vorhandene Touch "zurück" taste gibt, bzw nicht das programm beendet sondern einfach eine von mir gewählte aktion ausführt.
Das wäre dann auf die Seite mit den Buttons zurück, um z.B. einen anderen button der mir infos anzeigt anzuklicken.

ich hoffe ihr versteht was ich meine, ich hab KP wie man diese Taste an meinem Handy nennt, geschweige denn in java ansteuert oO

Liebe Grüße
Michael
 

eRaaaa

Top Contributor
Müsste das nicht der "KeyEvent.KEYCODE_BACK" sein? :)
Java:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // tue etwas....
    }
    return super.onKeyDown(keyCode, event);
}

oder ab 2.0
Java:
@Override
public void onBackPressed() {
// do something on back.
return;
}

Android Developers Blog: Back and other hard keys: three stories
 

Chiqsaw

Mitglied
Klappt perfekt, Danke :D

Jetzt die 2te Frage:
Wenn ich die App jetzt schließen will mittels back Taste, dachte ich mir setze ich einfach eine
if (ContentView == R.layout.main) && if (keyCode == KeyEvent.KEYCODE_BACK)
exit

aber
1. kann ich die erste if nicht erstellen da ich scheinbar mit ContentView nicht die aktuelle seite erfragen kann
und 2, wie beende ich das programm dann?
geht finish() ?

laut
Java:
@Override
public void onBackPressed() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Are you sure You want to exit")
        .setCancelable(false)
        .setPositiveButton("YES"),
        new DialogInterface.OnClickListener() {
            // On
            // clicking
            // "Yes"
            // button

            public void onClick(DialogInterface dialog,int id) {
                System.out.println(" onClick ");
                closeApplication(); // Close Application method called
            }
        })
        .setNegativeButton("NO"),
        new DialogInterface.OnClickListener() {
            // On
            // clicking
            // "No"
            // button
            public void onClick(DialogInterface dialog,int id) {
                dialog.cancel();
            }
        });

        AlertDialog alert = builder.create();
        alert.show();
    }

    private void closeApplication() {
        System.out.println("closeApplication ");
        this.finish();
    }
}

und dessen bericht bleibt das programm trotzdem "geöffnet" und man müsste ienen taskkiller benutzen ...
 

Ähnliche Java Themen

Neue Themen


Oben