我不是Java专家,我想了解如何传递必须通过runOnUiThread执行的功能
类似的东西
public void runOnActivity(FUNCTION) {
mActivity.runOnUiThread(
new Runnable() {
@Override
public void run() {
FUNCTION();
}
}
);
}
然后
public void reload(){
runOnActivity(mContext.reload);
}
甚至更好,因为应该始终将它们称为mContext方法:
public void runOnActivity(METHOD_NAME) {
mActivity.runOnUiThread(
new Runnable() {
@Override
public void run() {
mContext.METHOD_NAME();
}
}
);
}
然后
public void reload(){
runOnActivity("reload");
}
所有函数始终返回VOID 我希望我自己解释一下。
谢谢
答案 0 :(得分:0)
您可以像这样在Runnable
块中添加函数
Runnable myFunction = () -> System.out.println("some function");
void runOnMain(Runnable runnable) {
mActivity. runOnUiThread {
runnable.run();
}
}
最后,调用您的方法:
runOnMain(myFunction);
我希望您会尽快切换到Kotlin并轻松执行此类操作:)