QQ863017854 2016-01-22 08:12 采纳率: 100%
浏览 1638
已采纳

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 不行

  • 写回答

3条回答 默认 最新

  • ProXin 2016-01-22 08:23
    关注

    用这个:存放用键值对形式: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);
            }
        }
    
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!