当前位置: 首页 > 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

相关文章:

  • 用360打开自己做的网站有广告chrome下载
  • 杭州网络问政平台seo sem关键词优化
  • ssh可以做wap网站么网站优化排名金苹果下拉
  • 前端做网站商城 购物车怎么做南昌百度网站快速排名
  • 班级网站中个人简介怎么做百度数据分析工具
  • 企业网站营销如何建设软文营销广告
  • 有AI后,还用学编程吗?
  • C++(异常处理)
  • 电影交流平台小程序完整项目
  • 鸿蒙OH南向开发 轻量系统内核(LiteOS-M)【异常调测】
  • linux操作系统的软件架构分析
  • 左神算法之双集合平均值优化操作的最大次数
  • 【Linux】高级IO
  • MySQL:深入总结锁机制
  • 机器学习×第十四卷:集成学习中篇——她从每次错误中修正自己
  • Java实现简易即时通讯系统
  • Linux离线搭建Jenkins
  • C++【生存游戏】开发:荒岛往事 第一期
  • GLib库介绍与linux下应用
  • 基于元学习的回归预测模型如何设计?
  • ubuntu20.04安装多版本python时,如何使用sudo python3.10
  • Linux系统---Nginx配置nginx状态统计
  • 如何使用MQTTX软件来进行MQTT协议的测试
  • Harmony状态管理 @Local和@Param
  • 计算机网络期末复习
  • Git 3天2K星标: Happy-LLM 项目介绍(附教程)