我有一个错误“无法从类型处理程序对非静态方法sendEmptyMessage(int)进行静态引用”
怎么解决?因为我认为这是一个问题,我在这个班上做这件事不是一个活动吗?
new Thread() {
public void run() {
try {
List<Sail> sails = searchSails();
selectSailIntent.putParcelableArrayListExtra(
Constant.SAILS, new ArrayList<Sail>(sails));
getContext().startActivity(selectSailIntent);
Handler.sendEmptyMessage(0);
} catch (Exception e) {
alertDialog.setMessage(e.getMessage());
Handler.sendEmptyMessage(1);
}
}
}.start();
}
};
最佳答案
“无法从类型处理程序对非静态方法sendEmptyMessage(int)进行静态引用”
这是因为Handler
引用了一个类,但是sendEmptyMessage
不是一个静态方法(应该在对象上调用,而不是在类上调用)。
怎么解决?
为了能够调用sendEmptyMessage
方法,您可以
需要实例化一个Handler
,例如,执行如下操作
Handler h = new Handler();
h.sendEmptyMessage(0);
或
在
static
方法中添加sendEmptyMessage
修饰符:public static void sendEmptyMessage(int i) { ...
^^^^^^