您的位置:首页 > 移动开发 > Android开发

Android 利用getIdentifier()方法获取资源ID

2015-05-21 14:50 204 查看
Android 利用getIdentifier()方法获取资源ID


/**
     * 利用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_activity);
            initUI();

        }

        private void initUI(){

            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_activity.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="利用getIdentifier()方法获取资源ID" />

<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageView"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dip" />
</RelativeLayout>


strings.xml 文件:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">TestGetIdentifier</string>

</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: