手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android依据名字通过反射获取在drawable中的图片
Android依据名字通过反射获取在drawable中的图片
摘要:MainActivity如下:复制代码代码如下:packagecn.testreflect;importjava.lang.reflect....

MainActivity如下:

复制代码 代码如下:

package cn.testreflect;

import java.lang.reflect.Field;

import android.os.Bundle;

import android.widget.ImageView;

import android.app.Activity;

/**

* Demo描述:

* 依据图片的名字,通过反射获取其在drawable中的ID

* 在根据此ID显示图片

*/

public class MainActivity extends Activity {

private ImageView mImageView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

init();

}

private void init(){

mImageView=(ImageView) findViewById(R.id.imageView);

getImageByReflect("yaodi");

}

//$表示内部类的意思

//所以cn.testreflect.R$drawable表示:

//drawable是cn.testreflect.R的内部类

private void getImageByReflect(String imageName){

try {

Field field = Class.forName("cn.testreflect.R$drawable").getField(imageName);

mImageView.setBackgroundResource(field.getInt(field));

} catch (Exception e) {

}

}

}

main.xml如下:

复制代码 代码如下:

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

>

<ImageView

android:id="@+id/imageView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

/>

</RelativeLayout>

【Android依据名字通过反射获取在drawable中的图片】相关文章:

android实现获取正在运行的应用程序

Android的ImageButton当显示Drawable图片时就不显示文字

Android不读入内存获取图像宽高信息的方法

Android开发之相对布局

Android不需要关闭后台运行程序

android获取网络图片

基于android中的各种颜色在drawable.xml中的值详解

android平台获取手机所在位置经纬度

Android中 自定义数据绑定适配器BaseAdapter的方法

Android开发中如何获取应用版本号

精品推荐
分类导航