当我知道图片的名字,但我要使用它的资源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;
}
}