Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BaseAdapter NotifyDatasetChanged() getView() Not Working

Tags:

android

I have BaseAdapter Class for ListView in my Custom ListView Project. Now I I have TextView, and Tow Image Buttons(Edit and Delete) are in my listView row. When I am fire delete query From GetView() And call notifyDataSetChanged(); but nothing happening there. Please See below code :

public View getView(final int position, View 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;
}

Here notifyDatasetChanged() not working ......please anybody tell me where i am making mistack ?

like image 941
user2507920 Avatar asked Dec 12 '25 22:12

user2507920


2 Answers

notifyDatasetChanged() will work when you do a modification in itemDetailsrrayList. You are doing only Database operation not removing item from ArrayList.Remove the item from ArrayList as well. It will work.

like image 82
Brijesh Thakur Avatar answered Dec 16 '25 22:12

Brijesh Thakur


Make sure BaseAdapter methods

registerDataSetObserver(DataSetObserver observer) 
unregisterDataSetObserver(DataSetObserver observer) 

are not overridden.

like image 29
MSquare Avatar answered Dec 16 '25 21:12

MSquare



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!