Ciao!!!
accidenti, mi hai chiarito davvero tutto!!!
Grazie!!!
quindi, l'handler è questo:
codice:
private Handler loginHandler = new Handler(){
@Override
public void handleMessage(Message msg){
myPd.dismiss();
if (msg.what==1){
vibra();
Toast toast = Toast.makeText(
Main.this,
R.string.login_successful,
Toast.LENGTH_SHORT
);
toast.show();
}else{
vibra();
Toast toast = Toast.makeText(
Main.this,
R.string.login_error,
Toast.LENGTH_SHORT
);
toast.show();
}
}
};
mentre il thread di "login" è:
codice:
private void loginButtonClick(){
myPd.setMessage(getResources().getString(R.string.login_progress));
myPd.show();
new Thread(new Runnable(){
@Override
public void run(){
try{
fc.login(getWifiIp());
loginHandler.sendEmptyMessage(1);
} catch(LoginException e){
Log.e(TAG,"LoginException: ");
loginHandler.sendEmptyMessage(0);
}
}
}).start();
}
naturalmente c'è la variabile d'istanza myPd in testa al codice:
codice:
private ProgressDialog myPd;
ultimissimo chiarimento:
io imposto il messaggio di myPd all'interno del metodo loginButtonClick().
ho anche il metodo logoutButtonClick(), praticamente uguale. E' più corretto utilizzare 2 riferimenti diversi (myPdLogin e myPdLogout) oppure va bene così, settandogli semplicemente il messaggio diverso?
grazie ancora!
Michele