gpt4 book ai didi

java - 动态字符串资源

转载 作者:行者123 更新时间:2023-11-30 02:55:39 25 4
gpt4 key购买 nike

[你好],我有一个问题。

Strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="num_e1_n1">%1$d</string>
</resources>

在布局文件中:

<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" />

并且在 .java 文件中的方法 onCreate() 中:

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。怎么了?我需要更改什么?

非常感谢。

最佳答案

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

<TextView
...
android:text="@string/num_e1_n1" />

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

你可以试试 String.format,像这样:

String numero = String.format(res.getString(R.string.num_e1_n1), 98);

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

希望对您有所帮助。

关于java - 动态字符串资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23310150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com