android-有什么方法可以迭代整个 R.raw,R.drawable 或者任何 R 类吗?

问题描述

有什么方法可以迭代整个 R.raw,R.drawable 或者任何 R 类吗?

有什么方法可以迭代整个 R.raw,R.drawable 或者任何 R 类吗?我想通过 iterate 动态的来逐条获取这些文件夹的每一个id。

ArrayList resArray = new ArrayList();
foreach(int id : R.raw) {
resArray.add(id);
}

有什么方法可以实现?

解决方案

用反射

    public void field(){
    Field[] fields =R.drawable.class.getFields();
    for(Field f : fields){
        try {
            Log.d("reflect", "字段名: "+f.getName()+" 值: "+f.getInt(f));
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

03-12 17:41:53.444: D/reflect(15356): 字段名: answer_box 值: 2130837504
03-12 17:41:53.452: D/reflect(15356): 字段名: answer_box_alt 值: 2130837505
03-12 17:41:53.452: D/reflect(15356): 字段名: app_ico_48 值: 2130837506
03-12 17:41:53.452: D/reflect(15356): 字段名: app_ico_72 值: 2130837507
03-12 17:41:53.452: D/reflect(15356): 字段名: background 值: 2130837508
03-12 17:41:53.452: D/reflect(15356): 字段名: button_normal 值: 2130837509

虽然可以做到 但还是奉劝:不要动他

解决方案二:

这样做的动机何在?干嘛去管那个本不该你管的文件……

时间: 2024-12-30 17:48:33

android-有什么方法可以迭代整个 R.raw,R.drawable 或者任何 R 类吗?的相关文章

Android Service中方法使用详细介绍

  Android Service中方法使用详细介绍 在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务.例如,一个从service播放音乐的音乐播放器,应被设置为前台运行,因为用户会明确地注意它的运行.在状态栏中的通知可能会显示当前的歌曲并且允许用户启动一个activity来与音乐播放器交互. Service的两种实现形式 1.非绑定 通过调用应用程序组件(例如Activity)的startService()方法来启动一个服务.一旦启动,服务就

Android 读写文件方法汇总

以下是对Android中读写文件的方法进行了汇总介绍,需要的朋友可以过来参考下   一. 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) 复制代码 代码如下: String res = ""; try{ InputStream in = getResources().openRawResource(R.raw.bbi); //在Testresrawbbi.txt, int length = in.available(); byte [] buffer =

Android使用setCustomTitle()方法自定义对话框标题_Android

Android有自带的对话框标题,但是不太美观,如果要给弹出的对话框设置一个自定义的标题,使用AlertDialog.Builder的setCustomTitle()方法. 运行效果如下,左边是点击第一个按钮,弹出Android系统自带的对话框(直接用setTitle()设置标题):右边是点击第二个按钮,首先inflate一个View,然后用setCustomTitle()方法把该View设置成对话框的标题. 定义一个对话框标题的title.xml文件: <?xml version="1.

qq互联-使用QQ互联android sdk 回调方法 onComplete 不执行

问题描述 使用QQ互联android sdk 回调方法 onComplete 不执行 2C MainActivity.javapackage com.example.testqq; import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView; public

android图片处理方法(不断收集中)

http://gundumw100.iteye.com/blog/849729 将一个图片切割成多个图片 有种场景,我们想将一个图片切割成多个图片.比如我们在开发一个拼图的游戏,就首先要对图片进行切割. 以下是封装好的两个类,可以实现图片的切割.仅供参考和学习. 一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的顺序索引的int变量. import android.graphics.Bitmap; public class ImagePiece { public int

android中findViewById方法参数问题

问题描述 android中findViewById方法参数问题 android中findViewById( R.id.myLayout); 这个方法参数的数据类型是什么,为什么省略了数据类型的声明,路径是什么,谢谢解答 解决方案 int 类型 public View findViewById(@IdRes int id) { return getDecorView().findViewById(id); } 各种资源都会在R文件中定义, 有R.id.xxx 引用在XML中定义了控件ID的 R.l

Android Service中方法使用详细介绍_Android

 service作为四大组件值得我们的更多的关注 在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务.例如,一个从service播放音乐的音乐播放器,应被设置为前台运行,因为用户会明确地注意它的运行.在状态栏中的通知可能会显示当前的歌曲并且允许用户启动一个activity来与音乐播放器交互. Service的两种实现形式 1.非绑定 通过调用应用程序组件(例如Activity)的startService()方法来启动一个服务.一旦启动,服务就会在

Android WebView使用方法详解 附js交互调用方法_Android

目前很多Android app都内置了可以显示web页面的界面,会发现这个界面一般都是由一个叫做WebView的组件渲染出来的,学习该组件可以为你的app开发提升扩展性. 先说下WebView的一些优点: --可以直接显示和渲染web页面,直接显示网页 --webview可以直接用html文件(网络上或本地assets中)作布局 --和JavaScript交互调用  一.基本使用 首先layout中即为一个基本的简单控件: <WebView android:id="@+id/webView

Android Tabhost使用方法详解_Android

Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面比较复杂的话你的XML文件会写得比较庞大,用第二种方式XML页面相对要简洁得多. 下面是我的XML源码: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ver