开发者社区> 问答> 正文

关于Android 中有什么方法能将handler得出的参数传递到initviews()中

 try {
                JSONObject  object = new JSONObject(jsonData);
                String status = object.getString("status");
                System.out.print(status);
                String postsstr = object.getString("posts");
                JSONArray ports = new JSONArray(postsstr);

                for(int i = 0;i<ports.length();i++){
                    port = ports.getJSONObject(i);

                    id = port.getString("id");
                    title = port.getString("title");                
                    custom_fields = port.getString("custom_fields");
//                  System.out.print(custom_fields);
                    picJson = new JSONObject(custom_fields);
                    if(picJson.has("slider_pic") == true){
                        slider_pic_URL=picJson.getString("slider_pic");
                        System.out.println("图片链接"+slider_pic_URL);
                        picList = new JSONArray(slider_pic_URL);
                            for (int j =0; j<picList.length(); j++) {
                            slider_pic_URL = picList.getString(j);
                            System.out.println(slider_pic_URL);} 

想把这里的slider_pic_URL 传递到initviews()中

    private  void initViews()  {

              llAdvertiseBoard = (LinearLayout) this.findViewById(R.id.llAdvertiseBoard);
            final JSONArray advertiseArray = new JSONArray();
              class receiver extends BroadcastReceiver{

            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO 自动生成的方法存根

                String TPRUL =intent.getStringExtra("tpv");
                System.out.println(TPRUL);
                advertiseArray.put(TPRUL);
            }
            }

    llAdvertiseBoard.addView(new Advertisements(this, true, inflater, 3000).initView(advertiseArray));
//          try {
//              JSONObject head_img0 = new JSONObject();
//              head_img0.put("head_img","http://www.zjhaining.com/uploads/2015/10/byf1118.jpg");
//      
//          
//              advertiseArray.put(head_img0);
//          
//          
//          } catch (JSONException e) {
//              // TODO Auto-generated catch block
//              e.printStackTrace();
//          }

            }

在initviews中创建了一个json数组 想把handler中解析出的链接传递给initviews中的
json数组中 从而可以加载出链接 急 求解答 我试了用intent 不行

展开
收起
爵霸 2016-03-16 13:48:27 2554 0
1 条回答
写回答
取消 提交回答
  • 用这个:存放用键值对形式:HealthMap.put("key", 要传递的值);,用的时候直接用HealthMap.get("key");就可以了

    public class HealthMap {
    
        private static Map map = new ConcurrentHashMap();
    
        /**
         * 传值
         * @param key
         * @param obj
         */
        public static void put(String key, Object obj) {
            map.put(key, obj);
        }
        /**
         * 取值  默认删除内存引用
         * @param key
         * @return
         */
        public static Object get(String key) {
            return map.remove(key);
        }
    
        /**
         * 取值   自定义是否删除内存引用
         * @param key
         * @param isDelete
         * @return
         */
        public static Object get(String key, boolean isDelete) {
            if (isDelete) {
                return get(key);
            } else {
                return map.get(key);
            }
        }
    
    } 
    2019-07-17 19:03:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载

相关实验场景

更多