| |||||||
Das Thema "onKeyDown "stört" onCreateOptionsMenu" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Modell: Samsung Galaxy S (I9000) Registriert seit: 29.07.2010
Beiträge: 19
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
| ich habe ein Problem, das ich selber nicht gelöst kriege. Und zwar fange ich mit onKeyDown die Hardware-Back-Taste ab und will dem User die Möglichkeit geben, über die Hardware-Menü-Taste ein Benutzermenü anzeigen zu lassen. Wenn ich aber die Back-Taste abfange, wird das Menü nicht mehr angezeigt. Ohne das Abfangen wird das Menü problemlos angezeigt. Ich bin mittlerweile ziemlich ratlos. Vielleicht könnt ihr mir ja helfen, zu erkennen, wo mein Fehler liegt. Hier mein Code: @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mymenu, menu); return result; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.ende) { showDialog(10); } if (item.getItemId() == R.id.options) { start_menu_aktivitaet(); } if (item.getItemId() == R.id.preferences) { start_preferences_aktivitaet(); } return true; } @Override public Dialog onCreateDialog(int id) { switch (id) { case 10: Builder back = new AlertDialog.Builder(this); back.setIcon(R.drawable.question); back.setTitle(R.string.frage_ende_kurz); back.setMessage(R.string.frage_ende); back.setPositiveButton(R.string.frage_ja, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //TODO aktuelle Daten sichern finish(); } }); back.setNegativeButton(R.string.frage_nein, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //nichts tun } }); back.show(); } return super.onCreateDialog(id); } /** Wenn die nachfolgenden Zeilen aktiv sind, wird das Menü beim Klick auf die Hardware-menü-Taste nicht mehr angezeigt @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { //TODO aktuellen Schiesszettel sichern finish(); } return true; } */ private void start_menu_aktivitaet() { Intent intent = new Intent(this,MyMenu.class); startActivity(intent); } private void start_preferences_aktivitaet() { Intent intent = new Intent(this,MyPreferences.class); startActivity(intent); } Danke im Voraus, Grossi |
| | |
| | #2 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
ganz einfach onkeydown() { if (keycode_back) { //do something return true; } return false; } einfach false returnen, wenn nicht die back taste gedrückt wurde. btw: es gibt auch die methode onBackKeyDown ( oder so ähnlich ) die macht genau das
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Android Dienste -> "Google Nachrichtendienst", "Cloud-an-Gerät", "Market-AlarmService | schraudsn | HTC Legend Forum | 2 | 21.12.2010 11:42 |
| Systemweite "OnKeyDown" Events? | TSGames | Android App Entwicklung | 6 | 22.09.2010 14:53 |
| [Update] "Voice Actions" und "Chrome to Phone" - neue Funktion für Android | Lion13 | Android News | 1 | 16.09.2010 19:50 |
| Stört der "Knick" des Legend in der Hosentasche? | rtuner | HTC Legend Forum | 6 | 12.04.2010 11:03 |
| Hilfe: Wie kann ich die Gruppen "Friends", "Familie" und "Mitarbeiter" im G1 anlegen? | Uwe307 | T-Mobile G1 Forum | 4 | 14.03.2009 18:11 |