Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用变量作为资源';这条路怎么走?_Java_Android - Fatal编程技术网

Java 如何使用变量作为资源';这条路怎么走?

Java 如何使用变量作为资源';这条路怎么走?,java,android,Java,Android,此函数siply调用从对象传递id的方法: public void onClick(View v) { showDesc("cgpc_1c"); } 该方法必须获取strings.xml中字符串的值并将其传递给活动: private void showDesc(String id){ String path = "R.string." + id; String id_desc = getResources().getString(path); final

此函数siply调用从对象传递id的方法:

public void onClick(View v) {
     showDesc("cgpc_1c");
}
该方法必须获取strings.xml中字符串的值并将其传递给活动:

private void showDesc(String id){

    String path = "R.string." + id; 
    String id_desc = getResources().getString(path);

    final Intent intent = new Intent(Cgpc.this, Description.class);
    Bundle b = new Bundle();
    b.putString("ID_DESC", id_desc);
    startActivity(intent);
}
但是。。。这不喜欢Java,告诉我需要一个整数而不是字符串作为路径。。。我怎样才能解决这个问题


谢谢大家!

尝试使用getIdentifier:

1-添加此方法

protected final static int getResourceID
(final String resName, final String resType, final Context ctx)
{
    final int ResourceID =
        ctx.getResources().getIdentifier(resName, resType,
            ctx.getApplicationInfo().packageName);
    if (ResourceID == 0)
    {
        throw new IllegalArgumentException
        (
            "No resource string found with name " + resName
        );
    }
    else
    {
        return ResourceID;
    }
}
2-可以这样说:

getResourceID("myStringName", "string", getApplicationContext());

为什么要捆绑?就这么多?