我需要将资源ID传递给我的一个类中的方法.它需要使用引用所指向的id以及它还需要字符串.我该怎样才能做到最好?
例如:
R.drawable.icon
Run Code Online (Sandbox Code Playgroud)
我需要获取此的整数ID,但我还需要访问字符串"icon".
如果我必须传递给方法的是"icon"字符串,那将是更好的选择.
如果我知道它的名字(在Android中),我如何获得图像的资源ID?
我需要知道当前主题的名称,我已经拥有主题的资源ID.谁知道如何获得当前主题的名称?
谢谢
public String getThemeName()
{
PackageInfo packageInfo;
try
{
packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
int themeResId = packageInfo.applicationInfo.theme;
return getResources().getResourceEntryName(themeResId);
}
catch (NameNotFoundException e)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud) 我确实有很多语言特定的资源.我的Android应用程序中有一点我获得了资源值,需要将此值转换为匹配的ID.该值不一定在当前语言的语言特定文件中(en/de/...).它在那里的某个地方......它是独一无二的.
在阅读了文档和这个帖子" 如何获取具有已知资源名称的资源ID? "后,我认为这getIdentifier(String name, String defType, String defPackage)是正确的方法,但我无法让它工作.结果始终为"0".
此代码是活动的一部分,我在Android 2.2上.
Android是否可能不考虑所有资源文件并仅使用当前语言特定的文件进行搜索?
例如(当前语言为"de"):
File: values-en/strings.xml
<resources>
<string name="txt_afirsttext">A first text</string>
<string name="txt_asecondtext">A second text</string>
</resources>
File: values-de/strings.xml
<resources>
<string name="txt_afirsttext">Ein erster Text</string>
<string name="txt_asecondtext">Ein zweiter Text</string>
</resources>
// Now I want to find the ID to this "en" text ...
String testValue = "A second text";
int i = this.getResources().getIdentifier(testValue, "strings", this.getPackageName());
// ... and translate it to the actual "de" language
String translatedValue = this.getResources().getString(i);
Run Code Online (Sandbox Code Playgroud)
说清楚.我不想错过使用字符串资源作为数据库.它只是在极少数情况下发生的一部分.
我如何从字符串xml文件中引用可绘制资源?我想要做
<string-array name="my_array">
<item>@drawable/my_image</item>
...
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我有一些颜色定义/values/colors.xml.
我如何以编程方式获取某种颜色的id,例如,R.color.my_color如果我知道颜色的名称.
这是一个关于android上的java的问题 - eclipse我有一个Stringr记录,我这样定义他:
String r="pic"+c1;
Run Code Online (Sandbox Code Playgroud)
我想取它的值,即"pic6"并将其用作变量名.
我该怎么做?