查看strings.xml中的xml资源引用被哪个xml引用

5018人阅读
strings.xml
在java代码中引用xml中的字符串值
Java语言(3)
Android移动开发(5)
& & &在xml中获取strings.xml的值非常简单,有些情况下我们需要在java代码中获取strings.xml中的字符串的值。尽量将字符串定义在strings.xml是一种非常好的习惯,可以使以后的维护变得方便快捷,同时也避免了程序代码中充斥着过多写死的字符串常量的情况,使程序更加简洁干练。
&& &在Activity的子类中获取string.xml的值方法如下:
String value = this.getString(R.string.XXX);
//或者是:
value=this.getResources().getString(R.string.XXX);
如果在其他普通java类【未继承Activity的类】中,则要注意,先声明一个Context对象context或者Application类的对象application,
String value = context.getString(R.string.XXX);
String value = application.getString(R.string.XXX);有些情况下因为java类与Activity的子类不在同一个包中,所以R.string.XXX会报错,这时需要引入继承了Activity的类所在的包。
String privateLocation =context.getResources().getString(
com.wang.Activity.R.string.privateDataStoreLocationFileName);
String commLocation=application.getResources().getString(
com.wang.Activity.mDataStoreLocationFileName);
往往第二种情况比较常见,所以记住如果是在其他没有继承Activity或者位于其他包中的普通java类中引用strings.xml中字符串的值,就需要采取
context.getResources().getString(Activity所在的包.R.string.XXX)&或者
application.getResources().getString(Activity所在的包.R.string.XXX)的方法
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8355次
排名:千里之外Android中有种使用数组的非常简单的用法,在xml文件中获取。
创建数组资源
在value目录下创建arrays.xml文件
然后在arrays.xml文件中使用&string-array&或者&integer-array&标签定义数组:
&?xml version="1.0" encoding="utf-8"?&
&resources&
&string-array name="languages"&
&item&C语言&/item&
&item&Java &/item&
&item&C#&/item&
&item&PHP&/item&
&item&HTML&/item&
&/string-array&
&integer-array name="reminder_methods_values" translatable="false"&
&item&1&/item&
&item&2&/item&
&item&3&/item&
&/integer-array&
&/resources&
引用数组资源:
在java代码中引用
Resources res =getResources();
String[] languages = res.getStringArray(R.array.languages);
String[] reminder_methods = res.getIntArray(R.array.reminder_methods_values);
在xml中引用
这里以spinner控件为例,因为spinner的entries属性刚好需要的是数组资源
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/languages"
注意上面引用的时候是@array。
其实array资源并不一定非要定义在values/arrays.xml文件中,这只是一种不成文的约定,将上面的&string-array name="languages"&定义在strings.xml中也是可以的。
Android系统对所有的xml资源文件其实是不加区别的,觉得values资源类型的不在于放在什么什么文件,而在于标签名,比如string-array的标签名决定了这是一个array资源。
建议将数组资源统一放在values/arrays.xml中。
阅读(...) 评论()&&&&strings.xml文件读取html标签示例
strings.xml文件读取html标签示例
从strings.xml文件中读取html标签示例代码eclipse工程.
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动***等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
移动开发下载排行------解决方案--------------------你打开工程文件一般能看到好多不同语言下的strings.xml&&比如zh_CN&en_US等
并且里面的string都会生成索引id&&应该会根据当前的语言来选择文件------解决方案--------------------引用:android小白,values文件下自动生成了一个strings.xml文件,在里面可以修改app的名字,但程序是怎么搜索到"app_name"的呢?假如values下面还有好几个xml文件,难道是一个文件一个文件的去遍历看有没有"app_name"标签吗?
还是说程序内部默认指定了在strings.xml中搜索?
strings.xml是固定格式的&&用来定义字符串&&&不同语言下&如LS所说&可以定义不同的vlaues包&单包下的xml&&必须是strings.xml、arrays.xml、bools.xml、styles.xml、colors.xml、dimensions.xml等&&各个xml作用不同
例如找"app_name"&&&android中是通过R.java中对应的app_name命名的id查找到相应资源xml文件中的内容显示到界面的------解决方案--------------------用的时候肯定要指定用哪个xml里的name标签,比如要用string.xml里的testName标签就写成android:text="@string/testName"------解决方案--------------------LZ&&strings.xml可以删除或者改成其他的文件名&&但是格式是一定的
&resources&
&&&&&string&name="xxx"&xxx&/string&
另外你可以注意下其他格式&&比如style&theme等&&只要格式满足要求&&都能索引到的&&所以文件名不用纠结
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有1410人阅读
android(9)
字符串资源的定义
文件路径:res/values/strings.xml
字符串资源定义示例:
&?xml&version=&1.0&&encoding=&utf-8&?&
&resources&
&&&&&string&name=&hello&&Hello!&/string&
&/resources&
字符串资源的调用
在 Layout XML 调用字符串资源:
&&&&android:layout_width=&fill_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:text=&@string/hello&&/&
在 Activity 获取字符串资源:
this.getString(R.string.hello)
从 Context 获取字符串资源:
context.getString(R.string.hello)
从 Application 获取字符串资源:
application.getString(R.string.hello)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:191516次
积分:1903
积分:1903
排名:第15801名
转载:130篇
(5)(19)(18)(8)(1)(5)(15)(1)(1)(2)(4)(5)(4)(33)(1)(4)(5)(7)(1)

参考资料

 

随机推荐