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

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

2014-03-11 15:25 459 查看
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如下:

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