如何处理动态字符串?

时间:2017-12-11 23:03:20

标签: java android xml

我想把一个字符串变量放入一个动态值,所以我有这个代码

XML字符串:

<resources>
        <string name="Destination">%1$s!</string>
</resources>

XML活动:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
    <EditText
       android:hint="@string/Destination"/>
</RelativeLayout>

的java:

Resources res = getResources();
String text = String.format(getResources().getString(R.string.Destination), addressComplete);

但系统说

  

从不使用变量'text'

并且在活动的EditText框中有字符串

  

%1 $ S!

我哪里错了?

1 个答案:

答案 0 :(得分:0)

我认为你需要做的就是完成你的代码。

您需要修改XML布局,以便EditText拥有ID:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
    <EditText
       android:id="@+id/destinationInput"
       android:hint="@string/Destination"/>
</RelativeLayout>

然后,在Java中,您会获得EditText的引用,并将提示更改为text变量:

String text = String.format(getResources().getString(R.string.Destination), addressComplete);
EditText destinationInput = (EditText) findViewById(R.id.destinationInput);
destinationInput.setHint(text);