gpt4 book ai didi

Android Listview,点击获取列表中项目的名称

转载 作者:搜寻专家 更新时间:2023-11-01 09:44:36 24 4
gpt4 key购买 nike

我有一个包含电影的 ListView 。当用户点击一部电影时,我希望该导演的名字显示在 Toast 中。

Toast 正在运行。我只是不确定如何获得该名称。

@Override
public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if(convertView == null){
holder = new ViewHolder();
convertView = inflater.inflate(resource, null);
holder.ivMovieIcon = (ImageView)convertView.findViewById(R.id.ivIcon);
holder.tvMovie = (TextView)convertView.findViewById(R.id.tvMovie);
holder.tvTagline = (TextView)convertView.findViewById(R.id.tvTagline);
holder.tvYear = (TextView)convertView.findViewById(R.id.tvYear);
holder.tvDuration = (TextView)convertView.findViewById(R.id.tvDuration);
holder.tvDirector = (TextView)convertView.findViewById(R.id.tvDirector);
holder.rbMovieRating = (RatingBar)convertView.findViewById(R.id.rbMovie);
holder.tvCast = (TextView)convertView.findViewById(R.id.tvCast);
holder.tvStory = (TextView)convertView.findViewById(R.id.tvStory);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

convertView.setOnClickListener(new View.OnClickListener() {
public void onClick(final View v) {
Toast.makeText(MainActivity.this, "Name of Director",
Toast.LENGTH_LONG).show();
}
});


final ProgressBar progressBar = (ProgressBar) convertView.findViewById(R.id.progressBar);

ImageLoader.getInstance().displayImage(movieModelList.get(position).getImage(), holder.ivMovieIcon, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
progressBar.setVisibility(View.VISIBLE);
}

@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
progressBar.setVisibility(View.GONE);
}

@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
progressBar.setVisibility(View.GONE);
}

@Override
public void onLoadingCancelled(String imageUri, View view) {
progressBar.setVisibility(View.GONE);
}
});

holder.tvMovie.setText(movieModelList.get(position).getMovie());
holder.tvTagline.setText(movieModelList.get(position).getTagline());
holder.tvYear.setText("Year: " + movieModelList.get(position).getYear());
holder.tvDuration.setText("Duration: " + movieModelList.get(position).getDuration());
holder.tvDirector.setText("Director: " + movieModelList.get(position).getDirector());

// rating bar
holder.rbMovieRating.setRating(movieModelList.get(position).getRating()/2);

StringBuffer stringBuffer = new StringBuffer();
for(MovieModel.Cast cast : movieModelList.get(position).getCastList()){
stringBuffer.append(cast.getName() + ", ");
}

holder.tvCast.setText("Cast:" + stringBuffer);
holder.tvStory.setText(movieModelList.get(position).getStory());
return convertView;
}

class ViewHolder{
private ImageView ivMovieIcon;
private TextView tvMovie;
private TextView tvTagline;
private TextView tvYear;
private TextView tvDuration;
private TextView tvDirector;
private RatingBar rbMovieRating;
private TextView tvCast;
private TextView tvStory;
}

提前致谢

最佳答案

很简单.....

 convertView.setOnClickListener(new View.OnClickListener() {
public void onClick(final View v) {
Toast.makeText(MainActivity.this, movieModelList.get(position).getDirector(),
Toast.LENGTH_LONG).show();
}
});

关于Android Listview,点击获取列表中项目的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com