2 qq863017854 QQ863017854 于 2016.02.15 15:37 提问

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   Ds   Rxr 2016.02.15 16:01
已采纳

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

QQ863017854
QQ863017854 这个方法只能在一个小范围的花括号内使用 我将一个方法中的一个参数传到另一个方法中就不行了
2 年多之前 回复
QQ863017854
QQ863017854 请问 你是怎么存取的? 跟我一样方式的咯?
2 年多之前 回复
bdmh
bdmh   Ds   Rxr 2016.02.15 15:39

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

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

            直接删除了,肯定是空啊啊
QQ863017854
QQ863017854 public static Object get(String key, Object obj) { return map.get(obj); } 可以吧?
2 年多之前 回复
QQ863017854
QQ863017854 额 那改成 return get(key,obj)可行吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
同一个Activity中不同Fragment的数据传递
参考文章:http://blog.csdn.net/harvic880925/article/details/44966913 最近在项目中需要实现这样的一个需求: 同一个Activity中有两个Fragment,然后有两Fragment。两Fragment中又嵌套着不同的ListView。 然后实现从Fragment1中的ListView点击item之后添加到Fragment2的L
Android中不同Activity之间的数据传递
需要用到的类及方法: 类似:两个国家做贸易,交易货物; --传递载体:intent(货船) --需要传递的内容:用bundle(集装箱)包装的string(某控件的值) --对接方法:onActivityResult(海关):需要验证requestCode(请求密码)和resultCode(返回密码),接收返回的intent2; --Acitivity1(国家1):startActi
Activity 之间传值的几种方式
一、通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent)方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的Activity上,或者通过Intent对象来指定我们要完成的一个action操作。
两个Activity跳转到同一个Activity并传值
项目中遇到两个Activity,例如A、B,都向C传递值,值的结果不一样,但C接受的参数一样。这时,就需要一个判断条件来判断值是哪个页面传来的。 1、在B界面中intent中也要传数值,可以是intent.putStringExtra("from","A界面");  2、在B界面中intent中传值,可以随便传值,但是不要传Key为“from”的,然后在C界面中的判断条件就是if(inte
《android studio3》在多个activity之间传递参数
Q:findViewByid是什么意思 在android里具体是干什么用的 A:android 的用户界面一般使用xml文件做的,对应的xml文件在layout包下如果xml里放了个按钮什么的,在activity中要获取该按钮就用 findViewById(R.id.xml文件中对应的id)  这个就是感觉没有MFC的wizard智能。 Q:android intent是做什么的?
android界面跳转与传值
android界面跳转与传值 android中Activity的跳转和值通过SharedPreferences传递。
Android 学习之路一:Activity之间传递数据的四种方式
传递数据 新建 Activity 在项目中右键,选择 New,继续选择中下方的 Activity,最后是 Blank Activity。此时 Android Studio 会为我们自动添加一个对应的布局文件,为布局文件中的 TextView 添加 ID,以便后续使用。 用Intent 发送数据 在主布局文件中新建一个 Button 控件,并在主类中定义它,然后为它设置 Click 的监听事件。
多个activity共享数据及socket套接字
安卓开发中我们在多个activity数据访问时需要用intent来传递数据不是很方便,而且数据类型有限,这里介绍一种能够共享socket套接字的方法,其他数据也可以;就像java实现在类与类的共享的方式一样,新建一个后缀为java文件。直接上代码: package com.example.xxx; import android.app.Application; import android.
Activity栈控制,以及传值中出现的问题总结
前言:Activity和Activity栈的关系在android中,一个activity组件可以激活另一个activity组件(可能属于另一个应用程序)。若新的被激活的activity组件属于另一个应用程序,则那个activity组件会运行在那个应用程序的进程中,但是从用户的角度来看,好像就是属于本应用程序一样。Android是通过将之前的activity组件和新被激活的activity组件放入同
多个Activity之间利用bundle传递数值
转自:http://www.mamicode.com/info-detail-847140.html 安卓中的Activity相当于vb,mfc中的窗体,在多个Activity之间传递数据是一个相当核心的功能。下面举个例子来说明这个问题。 一、基本目标 用户在两个输入框中输入用户名、密码之后,跳到另一个Activity当中,显示其输入的内容, 然后这