简单点:
private JSONArray jsonArray;
new Thread(){
@Override
public void run()
{
这里有一段通过访问服务器获取JSONArray格式的返回值,我就不写了
jsonArray = JSON.parseArray(String.valueOf(buffer));
这里jsonArray报错,说不能给jsonArray赋值,有知道怎么解决的不?
}
}
子线程里不能进行赋值操作
private JSONArray jsonArray;
new Thread(){
@Override
public void run()
{
这里有一段通过访问服务器获取JSONArray格式的返回值,我就不写了
assignments(JSON.parseArray(String.valueOf(buffer)));
这里jsonArray报错,说不能给jsonArray赋值,有知道怎么解决的不?
}
}
//新建一个方法
private void assignments(JSONArray jsonArrays){
runOnUiThread(new Runnable(){
jsonArray=jsonArrays;
}
});
}
public class Test {
private ArrayList list;
public static void main(String s[]){
new Thread(){
@Override
public void run() {
list=new ArrayList();
}
}
}
}
你是这个意思吗?
亲,是可以赋值的。 应该是 JSON.parseArray这块出错了。 你能贴上具体的错误吗。
应该是转json时出错了,正常来说,一般都需要捕获一下异常
try {
JSONObject jo = new JSONObject(s);
} catch (JSONException e) {
e.printStackTrace();
}