在 TextView 中设定义在xml档中有帯参数的字符串

前端之家收集整理的这篇文章主要介绍了在 TextView 中设定义在xml档中有帯参数的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

之前一直没想到使用这种方法耒设 TextView 要显示的字符串,所以就学习了一下:

string.xml: 只有一个变数的话,就用 %s代表你要用值替换的字符串,而当有多个的时候,便是采用 %1$s代表第一个要替换的,%2$s第二个。。。依此类推

而 % 是 escape 符号

<string name="loading_with_percent">加载中 %s%%</string>


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">String</string>
    <string name="action_settings">Settings</string>
    <string name="example1">本月薪资:%s元</string>
    <string name="example2">本薪:%1$s元,分红:%2$s元,报销:%3$s元</string>
    
</resources>

相关api方法请参考这个 API,然後在代码中如此调用
package com.example.string;

import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv1 = (TextView) findViewById(R.id.example1);
        TextView tv2 = (TextView) findViewById(R.id.example2);

        tv1.setText(getResources().getString(R.string.example1,1000));
        tv2.setText(getResources().getString(R.string.example2,600,300,100));

    }

}


完整代码: https://github.com/shanwu/shanwu_coding_base/tree/StringExample

原文链接:https://www.f2er.com/xml/298797.html

猜你在找的XML相关文章