我有一个显示音乐名称的列表视图,当我选择音乐进度条中的1个时,它在it.Problem下面可见,当我单击第一个时,它也会自动选择4,依此类推,即对于2,它会选择5 3-8。我想是这样的,当Adapter拥有大量的值时,它不会一次加载所有的值,当屏幕向下滚动时,它会分批加载,所以当我选择批次1中的第一项时,它也会选择前面的批次中的第一项。代码如下:
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if (convertView == null) {
// here we inflate the layout
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.layout.music_videos_sublayout, null);
} else {
v = convertView;
}
if (mediaflag == 1) {
ImageView media_image = (ImageView) v
.findViewById(R.id.media_type);
media_image.setBackgroundResource(R.drawable.video);
} else {
ImageView media_image = (ImageView) v
.findViewById(R.id.media_type);
media_image.setBackgroundResource(R.drawable.music);
}
ImageView club_image = (ImageView) v.findViewById(R.id.clubimage_music_videos_sublayout);
TextView club_name = (TextView) v.findViewById(R.id.clubname_music_videos_sublayout);
club_name.setText(mediaArraylist.get(position).getClubName());
TextView mediaName = (TextView) v.findViewById(R.id.songname_music_videos_sublayout);
mediaName.setText(mediaArraylist.get(position).getMedianame());
AQuery aQuery = new AQuery(MusicVideosActivity.this);
String thumbnail = mediaArraylist.get(position).getClubimage();
Bitmap preset = aQuery.getCachedImage(thumbnail);
club_image.setImageBitmap(preset);
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View myView) {
System.out.println("Clicked within View"+position);
ProgressBar musicBar1 = (ProgressBar)v.findViewById(R.id.progressBar1);
musicBar1.setVisibility(View.VISIBLE);
}
});
return v;
}发布于 2012-11-20 20:23:23
使用bin并将boolean变量设置为isAvail,放入下面这一行...
musicbar1.setVisibility(listitem.isAvail() ? View.VISIBLE : View.GONE);https://stackoverflow.com/questions/13473051
复制相似问题