всевызова обработчика из нити приводит к NullPointerException
мне нужно вызвать обработчик из нити и я делаю как этот
new Thread(){
public void run(){
try{
Thread.sleep(2000);
}
catch(Exception ex){}
actHandler.sendEmptyMessage(0);
}
}.start();
и я звоню Handler как этот
actHandler=new Handler(){
public void handleMessage(android.os.Message msg)
{
}
};
несколько раз работает нормально и несколько раз приводит к исключению NullPointerException на линии actHandler.sendEmptyMessage (0);
Это все мой код
public class Casinos extends Activity {
ProgressDialog pd;
Handler actHandler;
@Override
public void onCreate(Bundle bundle){
super.onCreate(bundle);
pd=ProgressDialog.show(this,"","Please wait...");
new Thread(){
public void run(){
try{
Thread.sleep(2000);
}
catch(Exception ex){}
actHandler.sendEmptyMessage(0);
}
}.start();
setContentView(R.layout.casinos);
actHandler=new Handler(){
public void handleMessage(android.os.Message msg)
{
super.handleMessage(msg);
pd.dismiss();
}
};
}
Что делать?
Заранее спасибо.
Вы уверены, что каждый раз правильно инициализируете обработчик? – Egor
попробуйте этот 'if (actHandler! = Null) actHandler.sendEmptyMessage (0);' – dhblah
, то как я могу вызвать дескриптор public void handleMessage (android.os.Message msg) – surendra