簡體   English   中英

Android ListView將項目保存在onClick適配器中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM