如何在MainActivity.xml的TextView中调用Strings.xml里的字符串资源
在TextView中调用Strings.xml字符串资源的方法
你可以通过两种常用方式调用Strings.xml里定义的字符串资源:
1. 在XML布局文件中直接引用
直接在TextView的android:text属性里使用@string/资源名称即可,示例代码如下:
<!-- 显示姓名的TextView --> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Std_Name" /> <!-- 显示电话的TextView --> <TextView android:id="@+id/tv_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Std_Phone" />
2. 在代码中动态设置
Java 代码示例
// 获取TextView实例 TextView tvName = findViewById(R.id.tv_name); TextView tvPhone = findViewById(R.id.tv_phone); // 设置字符串资源 tvName.setText(getResources().getString(R.string.Std_Name)); tvPhone.setText(getResources().getString(R.string.Std_Phone));
Kotlin 代码示例
如果使用传统方式:
val tvName = findViewById<TextView>(R.id.tv_name) val tvPhone = findViewById<TextView>(R.id.tv_phone) tvName.text = getString(R.string.Std_Name) tvPhone.text = getString(R.string.Std_Phone)
如果使用ViewBinding(推荐,简化代码):
// 假设你的布局文件是activity_main.xml,生成的Binding类为ActivityMainBinding val binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.tvName.text = getString(R.string.Std_Name) binding.tvPhone.text = getString(R.string.Std_Phone)
这种通过资源ID调用字符串的方式,能方便后续做多语言适配,也避免了硬编码字符串带来的维护问题。
内容的提问来源于stack exchange,提问作者Muhammad Abdullah
相关产品推荐
相关产品推荐

