在Android开发中,要从静态Handler类调用非静态方法,可以使用以下方法:
public class MyHandler {
private static Handler sHandler = new Handler(Looper.getMainLooper());
public static void post(Runnable r) {
sHandler.post(r);
}
}
MyHandler.post(new Runnable() {
@Override
public void run() {
// 在这里调用非静态方法
}
});
MyHandler.post(new Runnable() {
@Override
public void run() {
// 在这里调用非静态方法
myNonStaticMethod();
}
});
这样,就可以在静态Handler类中调用非静态方法了。需要注意的是,这种方法只适用于在主线程中调用非静态方法。如果需要在其他线程中调用非静态方法,则需要创建一个Handler对象,并在其构造函数中传递该线程的Looper对象。
领取专属 10元无门槛券
手把手带您无忧上云