Visualizzazione stampabile
-
Notifiche Toast
Ciao a tutti,
avrei bisogno di usare una notifica Toast in una classe implementa solo un OnKeyListener. La classe è la seguente:
codice:
public class OhmLawKeyListener implements OnKeyListener {
private EditText localText;
private TextView localView;
public OhmLawKeyListener() {
super();
}
public OhmLawKeyListener(EditText t1){
super();
this.localText = t1;
}
public boolean onKey(View v, int keyCode, KeyEvent event) {
localText.setTextColor(ResistorColors.getColor(0));
Toast.makeText(OhmLawActivity.this, "Tap on the screen to Turn On light", Toast.LENGTH_SHORT).show();
return false;
}
}
Ho provato a fare come suggerito nel makeText del Toast a inserire OhmLawActivity.this (l'activity che in quel momento è attivia).
Ma ricevo il seguente messaggio di errore da eclipse:
"No enclosing instance of the type OhmLawActivity is accessible in scope"
Qualche idea? Come posso usare le notifiche toast senza dover passare tutta l'activity alla classe Listener?
Grazie! :)
-
Hai provato a sostituire il nome della attività con "getContex()"... non posso provarlo in questo momento ma sono quasi sicuro che finzioni...
Inviato dal mio HTC Desire
-
getContext() non è disponibile in quella classe. Quindi o passi l'activity nel costruttore oppure provi a estrapolare il context dalla edittext con t1.getContext() che dovrebbe ritornarti il context in cui è attiva la tua edittext se tutto va a buon fine... Se non va puoi sempre passare anche l'Activity nel costruttore, visto che tanto ci passi già la edittext
-
prova con
a me ha risolto! :)
-
Io son daccordo con Jordano.
Sarebbe meglio passarsi il context dell'activity a cui fai riferimento...
It's so easy:
In questa semplice maniera in ogni methodo avrai a disposizione il contesto della tua activity, senza doverlo passare ogni volta...
(ovviamente se passi null crasha ;) )