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

问题描述

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

解决方案

用这个:存放用键值对形式: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);
        }
    }

}

解决方案二:

求大侠指点 !!!在线等 急 !!

解决方案三:

改成了这样

 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 Object get(String key, boolean isDelete) {
            if (isDelete) {
                return get(key);
            } else {
                return map.get(key);
            }
        }

    }
时间: 2024-10-29 21:52:07

json 值传递-Android 中有什么方法能将handler得出的参数传递到initviews()中的相关文章

值传递-Android 同一个activity中传递值

问题描述 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)

Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇也就够了,不过我也尽量陈述的很详细 一.指针 要说指针,其实通俗易懂的话来说,他应该是保存内存地址的一个变量,我们来看一下小例子 #include <stdio.h> #include <stdlib.h> main(){ //int 变量 int i ; i = 5; //打印i的值

关于java值传递的问题

问题描述 关于java值传递的问题 怎么来理解java中的值传递,为什么被传递的对象的之不会改变? 解决方案 Java的方法调用是通过栈结构来完成的,每个方法都是一个栈帧,这个栈帧也包含一个操作数栈.参数类型.返回值等数据信息.某个方法调用另一个方法,参数传递是通过寄存器完成的,调用之前先把寄存器变量的值压入自己的操作数栈中,被调用方法加载同一个寄存器变量获取参数值.当方法返回时,调用者栈顶的值仍然是传递之前的值. 我写了一个简单的Java类如下: public class Pass { pub

Android简单的登录界面的值传递

        初学Android,这是一个用户登录界面,想把里面的值传递到另一个Activity中,先不说其他,上代码:         主界面(登录界面的Activity):MainActivity.java package com.zhoujunwen.widget; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; impor

Java语言入门教程(九):Java语言中的值传递

在第八篇博文中,介绍了编写方法体必须了解的基本知识点,初学者已经可 以自己写简单的例子进行练习.在练习过程中,我们不可能把所有的代码都放在 main方法中,Java类一定会有或多或少的方法成员,调用这些方法将是必要的步 骤.而调用方法成员时,如果该方法有参数,就必须要传递实际参数给方法的形 式参数.所以了解Java语言中的值传递是非常必要的. Java中的数据类型分两种,基本数据类型和引用类型.所以本文中也将分别 对这两种数据类型的值传递特征进行介绍. 1.基本数据类型的值传递:基本数据类型传递

android-Android中怎么把一个方法中的值传递到另一个方法中

问题描述 Android中怎么把一个方法中的值传递到另一个方法中 如下 public final Handler viewHandler = new Handler() {...........................};假设这里面有一个值要传递到 public void initViews() { .'''''''''''}:这里面 请大神指教 解决方案 为你想传入的那个方法添加传入数据类型的参数,然后在后一个方法中处理传入的数据,调用此方法的时候就可以传值了 public void

关于listview中的值传递

问题描述 关于listview中的值传递 我想在点击listview打开一个新的页面时并且把listview中的名叫number的textview里的值传给到要打开的activity中.求具体方法,最好给个代码,谢谢 解决方案 通过Bundle传值,intent.putExtra(name value) 解决方案二: package xiaohang.zhimeng; import java.util.ArrayList;import java.util.HashMap;import andro

javascript值传递和引用传递的问题

问题描述 javascript值传递和引用传递的问题 我看了一篇文章,讲了值传递和引用传递的过程,但是页面最后给出的例子却没有看懂, function setName(obj){ obj.name = "test1"; obj = {}; obj.name = "test2"; } var person = new Object(); setName(person); alert(person.name); 该段代码中方法里进行了 obj={ } ,obj.name

详解js界面跳转与值传递_javascript技巧

本文实例实现的功能如下:注册页(Register.js),点击注册,跳到注册结果页(RegisterResult.js),并将注册的手机号传递过去,显示xx注册成功. index.Android.js 'use strict' import React, { Component } from 'react'; import { AppRegistry,Navigator,BackAndroid} from 'react-native'; var Register = require('./stu