You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android中将动态字符串变量与R.string资源内容拼接复用?

Android 字符串资源与动态文本拼接实现方案

首先要明确:textId是资源ID(整数类型),并不是字符串本身,不能直接和changingString进行拼接操作,必须先将资源ID转换为对应的字符串内容,再完成组合。

基础实现方法

  • 第一步:将资源ID转为字符串
    在有Context的环境(如Activity、Fragment)中,使用getString()方法获取资源对应的文本:
    val originalText = getString(R.string.my_specific_string)
    
  • 第二步:拼接动态字符串
    可以用Kotlin的字符串模板或加号完成拼接:
    val changingString = "hello"
    // 字符串模板方式(更简洁)
    val combinedText = "$originalText $changingString"
    // 加号拼接方式
    // val combinedText = originalText + " " + changingString
    
  • 第三步:使用组合后的文本
    后续即可在任意场景使用combinedText,比如打印输出:
    println(combinedText) // 输出:My specific String hello
    

更推荐的实现方式:带占位符的字符串资源

如果需要频繁进行这类动态拼接,建议直接在字符串资源中定义占位符,既符合Android开发规范,又能支持多语言适配:

  1. 在res/values/strings.xml中修改字符串定义:
    <string name="my_specific_string">My specific String %s</string>
    
  2. 在代码中直接传入动态内容生成最终文本:
    val changingString = "hello"
    val combinedText = getString(R.string.my_specific_string, changingString)
    println(combinedText) // 输出:My specific String hello
    

内容的提问来源于stack exchange,提问作者Ben Akin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:42:38