获取resId

For example: I have a file bug.png in the "/res/drawable/ ", so i get its ResourceID with the following code:
int resID = getResources( ) .getIdentifier ( "org.anddev.android.testproject:drawable/bug" , null , null ) ;
// or
int resID = getResources( ) .getIdentifier ( "bug" , "drawable" , "org.anddev.android.testproject" ) ;
Android中,我们通常可以通过Context获取到资源文件的id。在Adapter中,我们可以通过构造方法传入一个Context对象,然后通过该Context对象的getResources()方法获取到Resources对象,进而获取到对应的资源文件id。 例如,在一个RecyclerView的Adapter中,可以在构造方法中传入一个Context对象,并在ViewHolder中使用该Context对象获取到对应的资源文件id,例如: ``` public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private Context mContext; private List<String> mData; public MyAdapter(Context context, List<String> data) { mContext = context; mData = data; } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(View v) { super(v); mTextView = (TextView) v.findViewById(R.id.text_view); } } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()) .inflate(R.layout.my_item_layout, parent, false); return new ViewHolder(v); } @Override public void onBindViewHolder(ViewHolder holder, int position) { String text = mData.get(position); holder.mTextView.setText(text); // 获取到资源文件id int resId = mContext.getResources().getIdentifier("my_resource_name", "drawable", mContext.getPackageName()); // 使用resId来设置ImageView的图片 holder.mImageView.setImageResource(resId); } @Override public int getItemCount() { return mData.size(); } } ``` 在上面的代码中,我们在ViewHolder中获取到了一个ImageView的资源文件id,然后使用该id来设置ImageView的图片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值