QQ863017854
QQ863017854
2016-02-15 07:37
采纳率: 87%
浏览 1.8k

Android 同一个activity中传递值

在同一activity中传递值,在网友的帮助下认识到如下的存取值方法

 public static 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);
            }
        }

    }   

下面是我程序的存取值

 HealthMap.put("key",slider_pic_URL);//放入
                            System.out.println(slider_pic_URL);//输出正常

                            Object pic =  HealthMap.get("key");//取出
            System.out.println("pic"+ pic);//输出为空

求大侠指点 急 在线等

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • bdmh
    bdmh 2016-02-15 08:01
    已采纳

    我理解错了,你删除返回的是被删除的value,我用你的代码是能获取到的,你仔细调试一下

    点赞 评论
  • bdmh
    bdmh 2016-02-15 07:39

    大哥,,你看看你的get方法干了什么

    public static Object get(String key) {
    return map.remove(key);
    }

                直接删除了,肯定是空啊啊
    
    点赞 评论

相关推荐