我想創建一個應用程序,它可以從android中的資源文件中獲取字符串名稱,當我們使用string.Is搜索時有任何方法嗎? 假設我的strings.xml文件有以下內容如何從android資源文件中的字符串查找字符串名稱
Hello world!
現在我想要做的是當我在我的應用程序的搜索菜單中鍵入Hello world時,它應該返回abc作爲字符串名稱。
我想創建一個應用程序,它可以從android中的資源文件中獲取字符串名稱,當我們使用string.Is搜索時有任何方法嗎? 假設我的strings.xml文件有以下內容如何從android資源文件中的字符串查找字符串名稱
Hello world!
現在我想要做的是當我在我的應用程序的搜索菜單中鍵入Hello world時,它應該返回abc作爲字符串名稱。
在您的活動中使用getResources().getString(R.string.yourstring)
。字符串yourstring
在Strings.xml
中定義。
1.當你說: 「假如我的strings.xml文件有以下」,並有一個,這將意味着你strings.xml
會是什麼樣子的 「Hello world!」:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Hello world!</string>
</resources>
這意味着在您的應用的資源中定義了字符串,可以通過導入yourpackage.R
來使用這些字符串 - 編譯器將如何識別R
中的值。
那麼值爲「Hello world!」的字符串的名稱是什麼?在你的XML?
2.要獲得該值,你可以使用:
getResources.getString(R.string.stringNameHere);
3.並按照您的要求,我建議你從你strings.xml
所有strings
在數組並通過它來運行搜索。
爲了更多地瞭解這一切,請經過:
- >http://developer.android.com/guide/topics/resources/string-resource.html
- >https://developer.android.com/samples/BasicNetworking/res/values/strings.html
您可以通過使用反射定義的字符串循環對R.string像這樣:
for (Field field : R.string.class.getDeclaredFields())
{
try {
Log.i("Strings", String.format("String %s = %s", field.getName(),
getResources().getString(field.getInt(field))));
} catch (NotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
你的意思是[''Context.getString(int resId)'](http://developer.android.com/guide/topics/resources/string-resource.html)? *您使用String *進行搜索是什麼意思?例? –
如果我的xml資源文件包含以下條目 hello world 。是否可以使用hello world獲取res id name,即「abc」 –
user3413619