2013-06-27 47 views
2

我在我的自定義ListView項目中有BaseAdapterListView。現在我有TextView,拖曳圖像按鈕(編輯和刪除)在我的listView行。當我火災刪除查詢從GetView()並呼籲notifyDataSetChanged();但沒有發生那裏。請參見下面的代碼:BaseAdapter NotifyDatasetChanged()getView()不工作

公共查看getView(最終詮釋的立場,觀點convertView,ViewGroup中parentView){

ViewHolder holder ; 
    holder = new ViewHolder(); 
    convertView = mInflater.inflate(R.layout.local_jobs_list_row , null); 

    holder.job_name = (TextView) convertView.findViewById(R.id.txt_job_name); 
    holder.img_edit = (ImageButton) convertView.findViewById(R.id.icon_edit_job); 
    holder.img_delete = (ImageButton) convertView.findViewById(R.id.icon_delete_job); 

    convertView.setTag(holder); 

    holder.img_delete.setTag(itemDetailsrrayList.get(position).getLocal_job_id()); 
    holder.img_delete.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(final View v) { 

      db.open(); 
      db.deleteLocalJob(String.valueOf(v.getTag())); 
      db.close(); 
      notifyDataSetChanged(); 

     } 
    }); 

    holder.job_name.setText(itemDetailsrrayList.get(position).getLocal_job_name()); 


    return convertView; 
} 

這裏notifyDatasetChanged()無法正常工作......請有人告訴我在哪裏,我想提出mistack ?

回答

7

notifyDatasetChanged()將在您在itemDetailsrrayList中進行修改時生效。你只做數據庫操作而不是從ArrayList中刪除項目。也從ArrayList中刪除項目。它會工作。

+0

非常感謝你@Brijesh – user2507920

4

確保BaseAdapter方法

registerDataSetObserver(DataSetObserver observer) 
unregisterDataSetObserver(DataSetObserver observer) 

不覆蓋。

相關問題