CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Problema con l'evento onKey

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Oct 2009
    Messaggi
    97

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema con l'evento onKey

    Il problema che ho è:
    nella mia applicazione ho 3 attività tutte e 3 con questi snippet:

    codice:
            listaApplicazioni.setOnKeyListener(new OnKeyListener(){
    
    			@Override
    			public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
    				if (arg1 == KeyEvent.KEYCODE_DPAD_RIGHT){
    					azioneItem(listaApplicazioni.getSelectedItemPosition());
    					return true;
    					}
    				return false;
    			}});
    e
    codice:
    /*
         * Launch an activity associated to the action own by the item selected
         */
        private void azioneItem(int posizione){
        	
        	
        	if (posizione >= 0){
        		String azione = applicazioni.get(posizione).getNomeAzione();
        		if (!azione.contentEquals("") && azione != null){
        			Intent in = new Intent(azione);
        			startActivity(in);
        		}
        		
        		
        	}
        }
    Quindi con questo codice se premo il dpad destro dovrebbe passarmi all'attivita "successiva", ed effettivamente passa a quella successiva, ma quest'ultima intercetta anch'essa la premuta del dpad e quindi mi passa immediatamente a quella dopo, se ci fosse un ulteriore attivita (cioè come nel mio progetto) NON passerebbe, in pratica fa due salti.

    Qualcuna sa dirmi perchè? O come fare per ovviare?

    Con l'onClick funziona a meraviglia, ma devo fare usare l'applicazione ad un portatore di handicap che lo userebbe con il joystick della carrozzella.

    Ho provato a fare anche un semplice programma che intercetta solo la premuta di un tasto e guardando il comportamento con il debugger ho notato che per ogni premuta entra nel listener due volte.

    codice:
    tv.setOnKeyListener(new OnKeyListener(){
    
    			@Override
    			public boolean onKey(View v, int keyCode, KeyEvent event) {
    				if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT){
    					final Intent in = new Intent(Assalta.this, Assalta.class);
    				i++;	
    				}
    				out++;
    				return false;
    			}});
    tv è un TextView, i e out li ho usati per contare quante volte il programma passava di li.

    Spero che qualcuno possa rispondermi... Intanto finisco dell'altro.

    Ciao.

  2.  
  3. #2
    Androidiano


    Registrato dal
    Oct 2009
    Messaggi
    97

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Angry

    Perchè sei un pirla!
    Perchè quando premo un tasto gli eventi onKey sono due!! Premuto e rilasciato, porca miseeeeeria!!!!!
    Ma non poteva venirmi in mente prima???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy