[你好],我有一个问题。
的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" />
在onCreate()
文件的方法.java
中:
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。 怎么了?我需要改变什么?
非常感谢。
答案 0 :(得分:1)
<强>更新强>
问题似乎是你不能以编程方式设置文本并且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);
但它应该与您现有的代码完全相同。
希望有所帮助。