我想知道是否有一种方法可以通过资源文件迭代获取程序的所有图像并将它们推入数组?
如果是,最简单的方法是什么?怎么做?
您可以通过在java中使用反射来完成此操作。
如果你还不熟悉它,这里有一个很好的起点在programcreek.com:
import java.lang.reflect.Field;
import android.util.Log;
public class ResourceUtil {
/**
* Finds the resource ID for the current application's resources.
* @param Rclass Resource class to find resource in.
* Example: R.string.class, R.layout.class, R.drawable.class
* @param name Name of the resource to search for.
* @return The id of the resource or -1 if not found.
*/
public static int getResourceByName(Class<?> Rclass, String name) {
int id = -1;
try {
if (Rclass != null) {
final Field field = Rclass.getField(name);
if (field != null)
id = field.getInt(null);
}
} catch (final Exception e) {
Log.e("GET_RESOURCE_BY_NAME: ", e.toString());
e.printStackTrace();
}
return id;
}
同样,你可以参考这些问题来获得更多的见解:Android:通过编程遍历资源id