handler和子线程不能给成员变量赋值,求解决办法

handler和子线程不能给成员变量赋值,求解决办法,各位大神好心指点一下

分线程中用handler发消息(携带要改变的的成员变量值a),在主线程中接受消息(接受携带出来要赋值的值a),然后赋值给成员变量(把a值赋给成员变量就可以呀)

handler = new Handler() {
private String imgurl;

        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 2) {
                String jsondata = (String) msg.obj;
                try {
                    mapList = new ArrayList<>();
                    JSONObject jsonObject = new JSONObject(jsondata);
                    String warning = jsonObject.getString("message");
                    int errorcode = jsonObject.getInt("errorcode");
                    if (errorcode == 1) {
                        Toast.makeText(getContext(), warning, Toast.LENGTH_SHORT).show();
                    }
                    JSONArray array = jsonObject.getJSONArray("data");
                    for (int i = 0; i < array.length(); i++) {
                        HashMap<String, Object> hashMap = new HashMap<>();
                        JSONObject object = array.getJSONObject(i);
                        String originalPrice = String.valueOf(object.getDouble("originalPrice"));
                        String price = String.valueOf(object.getDouble("price"));
                        String title = object.getString("goodsName");
                        String goodsCode = object.getString("goodsCode");

imgurl = object.getString("goodsImage");

                        hashMap.put("originalprice", originalPrice);
                        hashMap.put("price", price);
                        hashMap.put("title", title);
                        hashMap.put("goodsCode", goodsCode);
                        hashMap.put("imgurl", imgurl);
                        mapList.add(hashMap);
                    }
                    adapter = new XIangGuanAdapter(mapList, getContext());
                    listView.setAdapter(adapter);
                    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            Product_details.goodsCode = (String) mapList.get(position).get("goodsCode");
                            getParentFragment().getFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.fragment, new Product_details()).commit();
                        }
                    });
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    };

就是这个Handler在Fragment的oncreateview里面,然后我想把上面加黑的imgurl拿到外部赋值,然后再新建线程利用imgurl下载图片,这是我的思路