以下是我使用的代码:
public class CustomListView extends ArrayAdapter<String>
{
private String title;
private String publishDate;
private String movieImg;
private Activity context;
public CustomListView(Activity context, String title, String publishDate, String movieImg)
{
super(context, R.layout.listview_layout, title);
this.context = context;
this.title = title;
this.publishDate = publishDate;
this.movieImg = movieImg;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent)
{
View r = convertView;
ViewHolder viewHolder = null;
if(r == null)
{
LayoutInflater layoutInflater = context.getLayoutInflater();
r = layoutInflater.inflate(R.layout.listview_layout, null, true);
viewHolder = new ViewHolder(r);
r.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) r.getTag();
}
viewHolder.movieImg.setImageResource (movieImg[position]);
viewHolder.movieTitle.setText(title[position]);
viewHolder.movieDate.setText(publishDate[position]);
return r;
}
class ViewHolder
{
TextView movieTitle;
TextView movieDate;
ImageView movieImg;
ViewHolder(View v)
{
movieTitle = v.findViewById(R.id.movieTitle);
movieDate = v.findViewById(R.id.movieDate);
movieImg = v.findViewById(R.id.movieImg);
}
}
}
发布于 2018-08-14 14:01:32
这样试试:
Strings, not Arrays
问题似乎是三个变量title
, publishDate
, movieImg
.
private String title;
private String publishDate;
private String movieImg;
viewHolder.movieImg.setImageResource (movieImg[position]);
viewHolder.movieTitle.setText(title[position]);
viewHolder.movieDate.setText(publishDate[position]);
viewHolder.movieImg.setImageResource (movieImg);
viewHolder.movieTitle.setText(title);
viewHolder.movieDate.setText(publishDate);
使用
String title[];
or
String[] title;
https://stackoverflow.com/questions/-100002134
复制相似问题