【发布时间】:2016-09-19 15:05:43
【问题描述】:
我有一个位于 CustomAdapter 中的列表视图,我有可单击的列表视图,因此当用户单击一行时,它旁边会出现一个小复选标记。我的问题是,如果您向下滚动 ListView 然后再回来, CheckMark 会消失,或者它会忘记单击的项目。这是图像
正如您所见,单击项目时图像正确显示,但如果您向下滚动然后再次向上滚动,图像就消失了。这就是我的 ListView 中的内容
@Override
public View getView(int position,View convertView,ViewGroup parent) {
final ViewHolder holder;
if(convertView==null){
holder = new ViewHolder();
inflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.from(c).inflate(R.layout.mylists, null);
// Initialize
holder.textView=(TextView) convertView.findViewById(R.id.textView);
binding.list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,int position, long l) {
holder.selected_genres = (ImageView) view.findViewById(R.id.selected_genre);
holder.selected_genres.setVisibility(View.VISIBLE);
}
});
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
lists= mylist.toArray(new String[0]);
holder.text1.setText(lists[position]);
return convertView;
}
【问题讨论】:
-
用所有被覆盖的方法发布整个适配器文件。
标签: android listview android-adapter