从 res/drawable 中检索字符串



我采用了以下数组; 填满图库:

private Integer[] mImageIds = { R.drawable.one, R.drawable.two,
            R.drawable.three, R.drawable.four, R.drawable.five,
            R.drawable.six, R.drawable.seven, R.drawable.eight,
            R.drawable.nine, R.drawable.ten, R.drawable.elevan,
            R.drawable.twelve, R.drawable.thirteen, R.drawable.fouteen,
            R.drawable.fifteen, R.drawable.sixteen
    };

然后我正在使用图库的点击事件:

coverFlow.setOnItemClickListener(new OnItemClickListener() {
         @Override
         public void onItemClick(AdapterView arg0, View v, int position,
         long rowID) {
             String s = mImageIds[position].toString();
             Toast.makeText(v.getContext(), s , 1000).show();
         }
         });

但在这里吐司给了我整数2130837507;

如果我只在吐司中取 mImageIds[position]

然后它显示路径 res/drawable-mdpi/image_name.jpg,但实际上它不是字符串。我想从中检索字符串 (image_name)。谁能帮我?

不要对你得到的数字执行toString。 如果您希望资源 ID 中的字符串如问题标题所示,请执行以下操作:

getResources().getString(mImageIds[position]);
但是,您

似乎想要图像名称,尽管这不是您问题的标题。 如果是这种情况,这应该有效:

getResources().getResourceEntryName(mImageIds[position]);

最新更新