我想在TextView中打印ŒHI5¹。所以我简单地写了:
tv.setText("Welcome to " + R.string.app_name)
其中 R.string.app_name 为<string name="app_name"><b>ŒHI 5¹</b></string>
但奇怪的是 textview显示了一个数字
号码是: 2131230755
我不知道为什么会这样。请帮助。
答案 0 :(得分:3)
使用getString(R.string.app_name)
或
getResources().getString(R.string.app_name);
R.string.app_name
只是一个很长的数字,用于识别该资源。 string + long的结果就是连接到该字符串的长度。所以你需要获得与该标识符对应的字符串。
实际上每个资源(布局,可绘制,数组,字符串)都有一个标识符,这些标识符放在R文件中。布局标识符在称为布局的内部类,字符串中的字符串等中保存在一起。
答案 1 :(得分:1)
使用:
getString(R.string.app_name);
或者如果您不参加活动
mContext.getResource().getString(R.string.app_name);
答案 2 :(得分:1)
根据您的要求,您无法直接致电 R.string 。
通过getResource().getString
返回与特定资源ID
关联的字符串值
最后
getResource().getString(R.string.your_string);