[英]Android ListView save items onClick in adapter
我在CustomAdapter中有一個listview,我可以單擊ListView,因此當用戶單擊一行時,它旁邊會出現一個小勾號。 我的問題是,如果您向下滾動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;
}
您需要跟蹤哪些是“選定”項目。
有很多可能的解決方案,一個是創建一個以所有錯誤開頭的列表(與項目列表大小相同),然后在某個位置(在onItemClick內)選擇一個項目時,將值設置為該位置為true ..,然后在創建視圖(在getView內部)時,檢查該值並顯示(或不顯示)選中標記。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.