Android利用资源名称获取其ID(一)--->getIdentifier()

MainActivity如下:
package cc.wy;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
/**
 * Demo描述:
 * 利用getIdentifier()方法获取资源ID
 * 
 * 方法描述:
 * getIdentifier(String name, String defType, String defPackage)
 * 第一个参数:资源的名称
 * 第二个参数:资源的类型(drawable,string等)
 * 第三个参数:包名
 */
public class MainActivity extends Activity {
	private Context mContext;
	private ImageView mImageView;
	private TextView mTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
    }
    
    private void init(){
    	mContext=this;
    	//获取图片资源的ID
    	mImageView=(ImageView) findViewById(R.id.imageView);
    	int drawableId = mContext.getResources().getIdentifier("ic_launcher","drawable", mContext.getPackageName());
    	mImageView.setImageResource(drawableId);
    	System.out.println("----> 获取到的图片资源 drawableId="+drawableId);
    	
    	//获取字符串资源
    	mTextView=(TextView) findViewById(R.id.textView);
    	int stringId = mContext.getResources().getIdentifier("hello","string", mContext.getPackageName());
    	mTextView.setText(stringId);
    	System.out.println("----> 获取到的字符串资源 stringId="+stringId);

    }
}

main.xml如下:



    

    

    


strings.xml如下:



    Hello World, MainActivity!
    TestGetIdentifier



你可能感兴趣的:(Android核心)