我的Android代码如下。它是一个RecyclerView,它获取标题和图像并显示列表。我正在尝试从另一个活动类中获取标题和图像。
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.mBoundString = mValues.get(position).getId();
holder.txtTourName.setText(mValues.get(position).getTitle());
holder.imgTourIcon.setImageResource(Integer.parseInt(mValues.get(position).getImage1()));
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onTourSelected(mValues.get(position));
}
});
}
尝试运行时出现以下错误。
Invalid int: "255d13aaccb9e941.jpg"
我理解这个错误意味着什么,但我不知道如何获取图像并将其设置为ImageView。
答案 0 :(得分:0)
即使你的代码看起来不清楚,据我所知,你试图通过调用.setImageResource(String)来使用.setImageResource(int id)。您需要找到您要设置的图像的ID。
所以不是这个holder.imgTourIcon.setImageResource(Integer.parseInt(mValues.get(position).getImage1()));
试试这个
int id = Resources.getSystem().getIdentifier(Integer.parseInt(mValues.get(position).getImage1(), "drawable", "android"));
holder.imgTourIcon.setImageResource(id);
(当然,在这里,我假设你的JPG在drawable文件夹中)