以下android代码块尝试从javascript函数获取返回值,然后将其分配给类变量,然后在实例化另一个类时使用该类变量;
这是我的代码:
//class variables
String innerElementNum = "0";
private final Object lock = new Object();
MyAdapter myAdapter;
synchronized (lock) {
try {
webView.loadUrl("javascript:inner()");
while (responseFromJS.equals(""))
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
(!responseFromJS.equals("empty"))
innerElementNum = responseFromJS;
}
responseFromJS = "";
}
myAdapter = new MyAdapter(EditorActivity.this);
在 MyAdapter 类中,我使用变量“innerElementNum”,如下所示:
public class MyAdapter extends BaseAdapter {
Context context;
int itemsNum = Integer.parseInt(innerElementNum);
String[] itemsArray = new String[itemsNum];
MyAdapter(Context c){
context = c;
if (itemsNum > 0) {
for (int i=0 ; i<itemsNum ; i++) {
int j = i+1;
itemsArray[i] = j+"";
}
}
}
....... etc
}
我的问题是同步:当实例化 MyAdapter 类时,“innerElementNum”变量具有“未定义”值,我的意思是,当我实例化类时,变量还没有正确的值。
欢迎任何帮助。提前致谢