首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态字符串资源

动态字符串资源
EN

Stack Overflow用户
提问于 2014-04-26 11:23:48
回答 1查看 2.3K关注 0票数 1

你好,我有个问题。

Strings.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="num_e1_n1">%1$d</string>
</resources>

在布局文件中:

代码语言:javascript
复制
<TextView
    android:id="@+id/num_joueur_e1_n1"
    style="@style/num_joueur"
    android:layout_alignTop="@id/maillot_rouge1"
    android:layout_centerHorizontal="true"
    android:text="@string/num_e1_n1" />

在方法onCreate()中,在.java文件中:

代码语言:javascript
复制
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_saisie_stats);

            // ...

    Resources res = getResources();
    String numero = String.format(res.getString(R.string.num_e1_n1), 98);
    num_rouge1 = (TextView) findViewById(R.id.num_joueur_e1_n1);
    num_rouge1.setText(numero);

    num_rouge2 = (TextView) findViewById(R.id.num_joueur_e1_n2);
    num_rouge3 = (TextView) findViewById(R.id.num_joueur_e1_n3);
    num_rouge4 = (TextView) findViewById(R.id.num_joueur_e1_n4);

    //***

}

不幸的是,当我运行我的应用程序时,我的Textview显示"%1$d“,除非我希望它显示98。怎么了?我需要改变什么?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-26 11:33:36

更新:问题似乎是,您无法以编程方式设置文本,并且TextView显示在布局中声明的值:

代码语言:javascript
复制
<TextView
    ...
    android:text="@string/num_e1_n1" />

您可以尝试在布局中添加另一个字符串来确认这一点。然后,您必须弄清楚为什么您的num_rouge1.setText()代码不运行。

您可以尝试String.format,如下所示:

代码语言:javascript
复制
String numero = String.format(res.getString(R.string.num_e1_n1), 98);

但它的行为应该与您现有的代码相同。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23310150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档