Android 如何引用com.android.internal.R目录下的资源

有一个资源跟系统上的一个资源相同,想要引用它:frameworks/base/core/res/res/drawable/ic_text_dot.xml

文件名称:ic_text_dot.xml

文件的具体内容:



android:inset="10dp">





该资源在代码中的引用是:com.android.internal.R.drawable.ic_text_dot

遇到的问题

但是不知道为什么,我在项目中用Java代码调用这个资源的时候,一直提示失败,无法找到目标:

ImageView imageView = (ImageView) findViewById(R.id.img);
imageView.setImageDrawable(getDrawable(com.android.internal.R.drawable.ic_text_dot));
//com.android.internal.R cannot be resolved to a variable
出现问题的原因

You cannot access id‘s of com.android.internal.R at compile time, but you can access the defined internal resources at runtime and get the resource by name.

解决的办法是:

ImageView imageView = (ImageView) findViewById(R.id.img);
imageView.setImageResource(Resources.getSystem().getIdentifier("ic_text_dot", "drawable", "android"));
参考:http://stackoverflow.com/questions/3486819/how-to-resolve-the-error-com-android-internal-r-cannot-be-resolved-when-i-usin

你可能感兴趣的:(Android 如何引用com.android.internal.R目录下的资源)