Autore Topic: Simulare pressione tasto  (Letto 1032 volte)

Offline miroku

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Play Store ID:
    Audero Team
Simulare pressione tasto
« il: 19 Settembre 2011, 00:40:17 CEST »
0
salve,
vorrei simulare la pressione del tasto menu dal clic su un button, sapete dirmi come fare?
io ho trovato in rete qualcosa ma non mi funziona:
Codice (Java): [Seleziona]
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MENU));
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MENU));

p.s. per sbaglio ho inserito la stessa domanda nella sezione sbagliata al seguente link http://www.anddev.it/index.php/topic,4459.0.html, potete chiuderla?

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Simulare pressione tasto
« Risposta #1 il: 19 Settembre 2011, 01:23:08 CEST »
0
Secondo me dovresti richiamare il metodo che viene richiamato quando premi il tasto menù, ovvero onCreateOptionMenu(Menu menu).

Offline miroku

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Play Store ID:
    Audero Team
Re:Simulare pressione tasto
« Risposta #2 il: 19 Settembre 2011, 01:33:57 CEST »
0
L'ho pensato anche io, ma non so cosa passargli ad onCreateOptionMenu ....
o meglio accetta un Menu che è un interfaccia... Ma optionsmenu non è una classe.

le classi che implementano menu sono submenu e contextmenu quindi non so come mi possano servire

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Simulare pressione tasto
« Risposta #3 il: 19 Settembre 2011, 01:39:11 CEST »
0
Giusto per provare, potresti fare una classe che implementi l'interfaccia menu e passargli un'istanza di quest'ultima.  ;-)
Codice (Java): [Seleziona]
class TestMenu implements Menu{
(...) metodi dell'interfaccia
}

onCreateOptionMenu(new TestMenu){
}

Offline miroku

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Play Store ID:
    Audero Team
Re:Simulare pressione tasto
« Risposta #4 il: 19 Settembre 2011, 01:43:14 CEST »
0
ho provato in questo stesso istante (ho fatto una classe anonima per non perdere tempo) ma guarda tutti imetodi da implementare
Codice (Java): [Seleziona]
onCreateOptionsMenu(new Menu(){

                        @Override
                        public MenuItem add(CharSequence title) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public MenuItem add(int titleRes) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public MenuItem add(int groupId, int itemId, int order,
                                        CharSequence title) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public MenuItem add(int groupId, int itemId, int order, int titleRes) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public int addIntentOptions(int groupId, int itemId, int order,
                                        ComponentName caller, Intent[] specifics, Intent intent,
                                        int flags, MenuItem[] outSpecificItems) {
                                // TODO Auto-generated method stub
                                return 0;
                        }

                        @Override
                        public SubMenu addSubMenu(CharSequence title) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public SubMenu addSubMenu(int titleRes) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public SubMenu addSubMenu(int groupId, int itemId, int order,
                                        CharSequence title) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public SubMenu addSubMenu(int groupId, int itemId, int order,
                                        int titleRes) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public void clear() {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void close() {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public MenuItem findItem(int id) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public MenuItem getItem(int index) {
                                // TODO Auto-generated method stub
                                return null;
                        }

                        @Override
                        public boolean hasVisibleItems() {
                                // TODO Auto-generated method stub
                                return false;
                        }

                        @Override
                        public boolean isShortcutKey(int keyCode, KeyEvent event) {
                                // TODO Auto-generated method stub
                                return false;
                        }

                        @Override
                        public boolean performIdentifierAction(int id, int flags) {
                                // TODO Auto-generated method stub
                                return false;
                        }

                        @Override
                        public boolean performShortcut(int keyCode, KeyEvent event,
                                        int flags) {
                                // TODO Auto-generated method stub
                                return false;
                        }

                        @Override
                        public void removeGroup(int groupId) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void removeItem(int id) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void setGroupCheckable(int group, boolean checkable,
                                        boolean exclusive) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void setGroupEnabled(int group, boolean enabled) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void setGroupVisible(int group, boolean visible) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public void setQwertyMode(boolean isQwerty) {
                                // TODO Auto-generated method stub
                               
                        }

                        @Override
                        public int size() {
                                // TODO Auto-generated method stub
                                return 0;
                        }});

secondo me c'è un modo più semplice...

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Simulare pressione tasto
« Risposta #5 il: 19 Settembre 2011, 01:53:05 CEST »
0
Credo si possa richiamare l'onkeydown() o onkeypressed() (non so quale dei due) passando come parametro il codice del tasto menu, no?

Offline miroku

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Play Store ID:
    Audero Team
Re:Simulare pressione tasto
« Risposta #6 il: 19 Settembre 2011, 02:13:48 CEST »
0
ho provato onKeyDown ma non ha funzionato  :'( mentre onkeyPressed non l'ho trovato nella libreria

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Simulare pressione tasto
« Risposta #7 il: 19 Settembre 2011, 09:10:18 CEST »
+1
Se ho ben capito la domanda dovrebbe bastare questo:
public void openOptionsMenu ()
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Simulare pressione tasto
« Risposta #8 il: 19 Settembre 2011, 09:13:12 CEST »
0
Activity | Android Developers()
l'admin mi ha preceduto :D
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia