是否有可能在Activity.runOnUiThread()
方法後返回一個值。在Activity.runOnUiThread()方法後返回一個值
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
int var = SOMETHING;
// how to return var value.
}
});
在這種post我看到,這是不可能的後Runnable.run()
方法返回一個值。但是如何使用(實現)另一個接口並在執行後返回一個值。
希望所有人都清楚。
編輯
可以幫助別人。
我用@ Zapl的解決方案,並通過參數的Callable
類的構造函數裏面,像這樣:
class MyCallable implements Callable<MyObject> {
int param;
public MyCallable (int param) {
// TODO Auto-generated constructor stub
this.param = param;
}
@Override
public MyObject call() throws Exception {
// TODO Auto-generated method stub
return methodReturningMyObject(this.param);
}
}
謝謝@Zapl。這真的是我想要的。 –
我需要在可調用方法中傳遞一個參數。我已經更新了這個問題。非常感謝 –
@mansoulx如果您將'int position;'重命名爲'int param',您應該有一個工作解決方案。否則,只需使用'final'局部變量作爲參數。編輯:添加最終的var示例來回答。 – zapl