当前位置: 首页 > news >正文

Android 开发问题:Wrong argument type for formatting argument ‘#2‘ in info_message

<string name="info_message">name: %1$s, age: %2$d</string>
String str = getString(R.string.info_message, "zs");
  • 在 Android 开发中,上述代码,出现如下警告信息
Wrong argument type for formatting argument '#2' in info_message: conversion is 'd', received String (argument #3 in method call)
  • 如果执行上述代码,报如下错误
java.util.IllegalFormatConversionException: d != java.lang.String
问题原因
  • values/strings.xml 文件中定义的字符串资源,包含如下占位符
  1. %1$s 表示字符串类型的占位符,对应方法中的第一个参数,即字符串

  2. %2$d 表示整数类型的占位符,对应方法中的第二个参数,即整数

  • 在调用 getString 方法时,传入的参数类型必须与占位符的类型一致,否则会出现上述警告或错误
处理策略
  1. 确保传入的参数类型与占位符的类型一致
String str = getString(R.string.info_message, "zs", 20);Log.i(TAG, str);
# 输出结果name: zs, age: 20
  1. 或者,不传入参数,直接使用字符串资源
String str = getString(R.string.info_message);Log.i(TAG, str);
# 输出结果name: %1$s, age: %2$d
http://www.lryc.cn/news/574823.html

相关文章:

  • 马克思主义基本原理期末复习下
  • DVWA Brute Force漏洞深度分析与利用指南
  • iwebsec靶场sqli注入(2)
  • Vue3+Spring boot 前后端防抖增强方案
  • 学习记录:DAY33
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 09(题目+回答)
  • HarmonyOS开发基础 --面向鸿蒙的TypeScript基础语法一文入门
  • 大模型本地部署,拥有属于自己的ChatGpt
  • 《仿盒马》app开发技术分享-- 兑换列表展示(68)
  • OSS安全合规实战:金融行业敏感数据加密+KMS自动轮转策略(满足等保2.0三级要求)
  • 如何使用MQTTX软件来进行MQTT协议的测试
  • # Python中等于号的使用
  • 逆向入门(7)汇编篇-mul指令的学习
  • DAY 41 简单CNN
  • 防御OSS Bucket泄露:RAM权限策略+日志审计+敏感数据扫描三重防护
  • DeepSeek智能总结 | 邓紫棋音乐版权纠纷核心梳理
  • 软件工程:从理论到实践,构建可靠软件的艺术与科学
  • 智慧家政数字化小程序开发:重构行业服务生态的创新引擎
  • 代码随想录|图论|01图论基础
  • 医药企业CMO研发管线管理专项介绍
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | MovieApp(电影卡片组件)
  • ArkTS与仓颉开发语言:鸿蒙编程的双子星
  • day41
  • 深入理解 BOM:浏览器对象模型详解
  • IoTDB的基本概念及常用命令
  • 【css】增强 CSS 的复用性与灵活性的Mixins
  • ArkUI-X通过Stage模型开发Android端应用指南(二)
  • 【软考高级系统架构论文】### 论软件系统架构评估
  • linux grep的一些坑
  • 接口自动化测试之 pytest 接口关联框架封装