如何将 JSON 字符串获取到 Int 然后再获取到 Arg Bundle?

2024-01-04

我正在尝试传递从 JSON 字符串中提取的 Int 值以减少代码冗余。

在我的 JSON 文件中,我有一个字符串值“resFile“。我将这个字符串存储到TAG_RES_FILE我想将它作为 Int 在 Bundle 中传递。

如果你查看我的代码,你会看到评论//尝试#1//。这按预期工作,但我需要它Int来自存储我的变量TAG_RES_FILE。在评论中//尝试#2//这只是我想要实现的功能的一个例子 - 显然它不是。在下一行中,我尝试将标签字符串转换为Int但这会产生以下运行时错误:

java.lang.NumberFormatException:无效的 int:“resFile”

我什至尝试将 0x7f060000 (来自 R.java)放入 JSON 字符串中。

所以我的问题是:我该如何实现这一目标?我走在正确的道路上还是应该采取完全不同的方式?

感谢您的帮助和输入 - 请在您的答案中显示代码示例。

JSON 字符串片段:

[
    {
        "_id": "1",
        "label": "A Lable",
        "title": "Some Title",
        "description": "Bla, bla, bla",
        "containerID": "Some container id",
        "isRawRes": "boolean value here",
        "resFile": "R.raw.advisory_circulators_sort_list"
    }, {. . .
]

在我的哈希图中:

// Parse the string to a JSON object
        for (int i = 0; i < json.length(); i++) {
            JSONObject json_data = json.getJSONObject(i);

            // Storing each json item in variable
            String id = json_data.getString(TAG_ID);
            String label = json_data.getString(TAG_LABEL);
            String title = json_data.getString(TAG_TITLE);
            String description = json_data.getString(TAG_DISCR);
            String containerID = json_data.getString(TAG_FRAG_ID);
            String isRawRes = json_data.getString(TAG_IS_RAW_RES);
            String resFile = json_data.getString(TAG_RES_FILE);

            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            // adding each child node to HashMap key => value
            map.put(TAG_ID, id);
            map.put(TAG_LABEL, label);
            map.put(TAG_TITLE, title);
            map.put(TAG_DISCR, description);
            map.put(TAG_FRAG_ID, containerID);
            map.put(TAG_IS_RAW_RES, isRawRes);
            map.put(TAG_RES_FILE, resFile);

            // adding HashList to ArrayList
            mList.add(map);
}

在我的 ListViews setOnItemClickListener 中:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    . . .

        final Bundle args = new Bundle();

//TRY #1//int rawRes = R.raw.advisory_circulators_sort_list; <--I NEED TO GET THIS IN FROM MY TAG!!
//TRY #2//int rawRes = TAG_RES_FILE; <-- TO SOMETHING LIKE THIS!!
        int passResFile = Integer.parseInt(TAG_RES_FILE);//<--THIS GIVES A NPE!!
        args.putInt("KEY_RES_FILE", passResFile);

        bolean isRawRes = true;
        args.putBoolean("KEY_IS_RAW_RES", isRawRes);

        // Delayed to improve animations
        final Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            public void run() {
                ListViewFragment lvf = new ListViewFragment();
                lcFT.replace(R.id.listContainer, lvf).commit();
                lvf.setArguments(args);
            }
        }, 300);
    }

相反,只需存储advisory_circulators_sort_list相对于R.raw.advisory_circulators_sort_list。然后,要获取整数标识符,请使用以下方法:

int passResFile = getResources().getIdentifier( resFile, "raw", getPackageName() );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 JSON 字符串获取到 Int 然后再获取到 Arg Bundle? 的相关文章

  • 有没有办法隐藏 TextView 中的文本?

    有没有办法隐藏 TextView 中的部分 但不是全部 文本 我尝试使用 AbsoluteSizeSpan 将大小设置为 0 但这没有任何我看到的视觉效果 你可以将大小设置为 1 但实际上你会得到凹凸不平的线条 而不是可读的文本 很可爱 但
  • 如何在android中使用retrofit访问404错误?

    我正在使用改造 2 访问 REST API 以使用原始正文插入 JSON 数据 我从服务器获得成功响应 但在响应时收到 404 错误 我想访问404错误请帮我解决这个问题 ApiUtil getServiceClass sendFinalC
  • 我从 String placeName = placeText.getText().toString(); 收到空指针异常

    您好 想从编辑文本中获取地名并在地图上标记 这是我的代码 其中出现空指针异常 请帮助我应该做什么以及哪里出错了 因为我从对话框中的编辑文本字段获取地名 View layout View inflate this R layout alert
  • 如何将音频 Mediastore 持续时间转换为分钟和秒?

    我正在使用音频播放器教程androidhive info https www androidhive info 2012 03 android building audio player tutorial 在 SongsManager ja
  • MediaStyle 通知未响应 RemoteControl 事件。

    我们正在将正在进行的播放通知迁移到 Lollipop 中引入的 MediaStyle 通知 RemoteControlClient 似乎已被弃用 并且 MediaStyle 通知不处理媒体按钮事件 例如通过耳机远程暂停 播放 有人得到这个工
  • 实施材质主题时遇到问题

    我在用this http antonioleiva com material design everywhere 作为在 Android 5 0 之前的设备上向现有应用程序实施 Material 主题的教程 我的问题是我得到了Null Po
  • Android 设备选择器在目标列中显示红色 X

    我最近构建了一个 Android 应用程序 minSdkVersion 为 7 targetSdkVersion 为 10 我现在正在使应用程序兼容平板电脑并添加操作栏 因此 我将 targetSdkVersion 更新为 15 并在项目属
  • 如何模糊视图

    I have a view having different colors I need to blur the background of that view for example There is LinearLayout in wh
  • 如何在应用程序中创建会话对象

    在我的应用程序中 我想创建一个用于登录和注销的会话 我不知道如何使用会话 任何人都可以通过提供一些示例来帮助我 我认为会话对象应该是在应用程序开始运行时声明和初始化的静态对象 我遇到了这个问题 并决定将我的会话对象放入 utils 类中 该
  • 直接在应用程序中评价 Google Play 应用程序 [重复]

    这个问题在这里已经有答案了 我需要在我的 Android 应用程序中设置费率选项 我找到了这个link http www androidsnippets com prompt engaged users to rate your app i
  • 长按 HOME 按钮菜单隐藏 Android 应用程序

    我想从 且仅从 完成后长时间按住 HOME 按钮时出现的菜单中隐藏我的 Android 应用程序 有没有办法做到这一点 以编程方式调用 finish 并不能解决问题 有很多关于从启动器和任务管理器隐藏应用程序的线程 但这不是我想要的 我只是
  • 如何从MediaCodec获取解码格式?

    我正在与MediaCodec 我用它来解码 mp4 video MediaCodec 将视频解码为YUV格式 但我需要得到RGBA 一切都很好 但我发现有几种可能的格式 例如YUV420 YUV422等等 因此 据我所知 要进行转换 我需要
  • SQLiteConstraintException:错误代码19:约束失败——Android错误

    我已经看到了一些与此相关的其他问题 但没有一个答案似乎真正适用于我的代码 当我尝试插入数据库时 出现 SQLiteConstraintException 错误代码 19 约束失败 错误 这是插入操作的代码 db insert 现在返回 1
  • webView.loadUrl 显示空白屏幕

    我必须加载这些通过使用下面的代码 但最终显示空白屏幕作为输出 您可以检查url代码之间的链接位于last line WebPagerLoader java public class WebPageLoader extends Activit
  • 如何在按下硬件主页按钮时关闭所有活动?

    我有一个应用程序 其中有 5 个活动 一个菜单活动和另外 4 个子活动附加到菜单屏幕 所以我可以选择任何活动 然后返回菜单 假设我像这样四处走动 菜单 gt 活动 1 gt 菜单 gt 活动 3 gt 活动 2 gt 菜单 现在我按 主页
  • 是否可以用 C# 为 Android 编写应用程序?

    我们都知道Android运行Dalvik VM程序 通常开发人员用 Java 编写程序并将其编译为 Dalvik 字节码 我想知道是否有可能创建一个可以接受 C 代码并将其编译为 Dalvik 字节码的编译器 嗯 这是一种选择 或者您可以在
  • Android 处理 ListView 中的多个 EditText 字段

    只是一个基本问题 如果我有几十个 EditText 字段是 ListAdapter 的一部分 那么各个 EditText 字段如何知道它们属于哪一行 目前我正在使用 TextWatcher 来监听文本输入 我尝试扩展 TextWatcher
  • 在edittext android中插入imageview

    我想将 imageview 放在 edittext 中 可能吗 我检查了 evernote 应用程序 它能够将照片放在编辑文本部分 我想让我的应用程序完全相同 我如何才能将从图库中选择的图像视图放入编辑文本中 我首先尝试将 imagevie
  • com.fasterxml.jackson.databind.JsonMappingException:无法反序列化 org.springframework.data.domain.Sort 的实例 START_ARRAY 令牌

    我的 objectMapper 正在获取类型的值Page
  • 在应用程序的所有活动中重用操作栏

    我创建了一个 MenuActivity 它有一个操作栏和一个拆分操作栏 我想将此操作栏和 splitactionbar 视图用于我的应用程序中的所有活动 我是 android 的新手 所以有人可以逐步指导我 另外 我试图将搜索图标放在操作栏

随机推荐

  • 限制 GridView C# UWP 中的项目数量

    我使用绑定到集合的网格视图 该集合包含未知数量的项目 我想限制 GridView 在一行中仅显示 5 个项目 每个项目都保存在一个堆栈面板内 其中包含一个文本块和一个图像 A 如何限制 GridView 的项目数量 B 如果我不想限制它 我
  • 当操作系统无法分配内存时,使用 STL 的应用程序是否应该容易出现内存泄漏?

    我个人不喜欢异常处理 正如许多地方建议的那样不建议将捕获异常并继续执行程序作为良好的编程实践 然而 自从STL容器抛出异常 即 bad alloc 除了在我们的代码中使用异常处理块之外别无选择 但是 在处理应用程序中的 STL 调用时 我发
  • C# 中对象数组的排序(相当于 std::sort)

    如何在 C 中对字符串数组进行升序排序 我想在 C 中使用类似 std sort 的东西 std sort population begin population end 我需要对对象列表进行排序 列表中的对象是 Genome 类的实例 我
  • 32 位有符号二进制字符串的 Java Integer.parseInt() 抛出 NumberFormatException

    这是Java Api的bug吗 int i 0xD3951892 System out println i 745203566 String binString Integer toBinaryString i int radix 2 in
  • C# Math.Round Up

    我有一个问题 我有一个小数 我想将其四舍五入到小数点后两位 不是以普通方式 而是 0 2013559322033898305084745763 期望结果 0 21 我怎样才能做到这一点 不能直接使用 所以你必须使用一个技巧 Math Cei
  • Symfony2/Doctrine 如何存储实体内相关对象的数量

    我已经设置了一个包 其中包含一个测试对象 该对象包含多个 testQuestion 对象 每个对象都是一个问题和给定的答案 如果没有答案则为 0 我希望能够从 twig 中获取测试对象的信息 以说明有多少问题以及已回答了多少问题 我创建了一
  • 可视化设计数据库结构

    我很高兴在创建数据库时手动编写表格 但这并不是向其他人传达有关数据库的信息的最简单方法 尤其是那些不喜欢通过脚本编写表格的人 而是会使用 phpMyAdmin 之类的东西 有没有一个免费的程序 对我来说 它必须在 Mac 上运行 但请随意为
  • Django Celery:仅执行长时间运行的进程的一个实例

    我有一个长时间运行的进程 必须每五分钟运行一次 但进程的多个实例不应同时运行 该过程通常不应运行超过五分钟 但我想确保第二个实例如果运行超过则不会启动 Per a 之前的推荐 https stackoverflow com question
  • UICollectionView 数据源方法没有被调用,但在 init 中设置

    这是我的源代码 id initWithCollectionView UICollectionView collectionView self super init if self self collectionView collection
  • Keras 导入错误 Tensorflow 后端

    ImportError Traceback most recent call last Users CJL anaconda3 lib python3 5 site packages keras backend tensorflow bac
  • 如何使用 swift 对搜索正则表达式进行分组

    在正则表达式中 您可以对不同的匹配进行分组 以轻松地 模式匹配 给定的匹配 while match nil match source rangeOfString regex options RegularExpressionSearch i
  • 启用 Apache http 授权标头

    我写一个API with PHP ZF2他们使用HTTP授权 我获取所有HTTP标头带有apache request headers 也用 ZF2 进行了测试 this gt getRequest gt getHeaders 它适用于我的语
  • 聚合和运算符的区别

    我一直在阅读一些 mongodb 文档 并遇到了一些令人困惑的术语 即如何区分符号何时用作聚合函数或运算符 例如 size函数要么计算数组中的项目数 要么检查数组中的元素数是否等于数字 有什么方法可以知道函数在什么时候会做什么 通过反复试验
  • javafx 2 文本字段中的提示文本在某些 java 7 更新后隐藏在焦​​点上

    我一直在制作简单的 javafx 2 gui 应用程序 发现一旦文本字段获得焦点 javafx 2 文本字段中的提示文本就会隐藏 这不是一些更新的方式 在此更新之前 文本字段会显示提示文本 直到输入一些文本为止 这不好 确实需要一个解决方法
  • 从文本区域输入捕获换行符

    我的 html 中有一个文本区域表单 如果用户在 2 个句子之间按下 Enter 键 则数据应该转移到我的 PHP 中 目前如果用户输入 Apple Google MS 我的 PHP 代码是 str POST field echo str
  • 将 neo4j 数据库从 2.0.1 升级到 2.1.3 失败

    我正在尝试将在 Windows 上运行的 Neo4j 商店从 2 0 1 升级到 2 1 3 我所做的 从工作 2 0 1 开始 环境 如下 2 0 1 bin neo4jinstall bat 删除 xcopy 2 0 1 data fi
  • 在 OpenCV 中播放视频

    我是 OpenCV 的初学者 我希望在 OpenCV 中播放视频 我已经编写了一个代码 但它只显示单个图像 我正在使用 OpenCV 2 1 和 Visual Studio 2008 如果有人指导我哪里出错了 我将非常感激 这是我粘贴的代码
  • 更改AutoCompleteTextView下划线的颜色

    我将 AutoCompleteTextView 设置为不可聚焦 但我不希望它将下划线的颜色从蓝色更改为灰色 有没有办法覆盖它并将下划线颜色更改回原始蓝色 同时仍然保持 AutoCompleteTextView 不可聚焦 这只是创建和应用自定
  • 如何找到哪个异步操作触发 ngZone (导致更改检测)?

    更新堆栈跟踪中的任何更改都会导致globalZoneAwareCallback 您如何找出引发变化的原因 在调试方面 有一个清晰的画面是有好处的 globalZoneAwareCallback是在 zonejs 中声明的函数 用于处理所有事
  • 如何将 JSON 字符串获取到 Int 然后再获取到 Arg Bundle?

    我正在尝试传递从 JSON 字符串中提取的 Int 值以减少代码冗余 在我的 JSON 文件中 我有一个字符串值 resFile 我将这个字符串存储到TAG RES FILE我想将它作为 Int 在 Bundle 中传递 如果你查看我的代码