Android通过名字拿Res下图片

来源:互联网 发布:杨玉环 知乎 编辑:程序博客网 时间:2024/05/01 16:06

当我知道图片的名字,但我要使用它的资源id,就可以使用java反射的方式.直接上代码,

MainActivity

package com.example.usenamegetrespic;import java.lang.reflect.Field;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.widget.ImageView;public class MainActivity extends ActionBarActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ImageView imageView = (ImageView) findViewById(R.id.imageView);        imageView.setImageResource(getPic("xiaoxin"));            }    public static int getPic(String pid) {        Field f;        try {            f = R.drawable.class.getField(pid);            return f.getInt(null);        } catch (NoSuchFieldException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        } catch (IllegalArgumentException e) {            e.printStackTrace();        }        return 0;    }}



0 0
原创粉丝点击