1 package org.coolreader.crengine;
2 
3 import java.util.ArrayList;
4 
5 import android.database.DataSetObserver;
6 import android.widget.BaseAdapter;
7 
8 public abstract class BaseListAdapter extends BaseAdapter {
9 	private ArrayList<DataSetObserver> observers = new ArrayList<DataSetObserver>();
10 
registerDataSetObserver(DataSetObserver observer)11 	public void registerDataSetObserver(DataSetObserver observer) {
12 		observers.add(observer);
13 	}
14 
unregisterDataSetObserver(DataSetObserver observer)15 	public void unregisterDataSetObserver(DataSetObserver observer) {
16 		observers.remove(observer);
17 	}
18 
notifyDataSetChanged()19 	public void notifyDataSetChanged() {
20 		for (DataSetObserver observer : observers) {
21 			observer.onChanged();
22 		}
23 	}
24 
notifyInvalidated()25 	public void notifyInvalidated() {
26 		for (DataSetObserver observer : observers) {
27 			observer.onChanged();
28 			//observer.onInvalidated();
29 		}
30 	}
31 
32 
33 	// default behavior implementation: single item view type, all items enabled, ids == positions
34 
35 	@Override
isEmpty()36 	public boolean isEmpty() {
37 		return getCount() > 0;
38 	}
39 
40 	@Override
areAllItemsEnabled()41 	public boolean areAllItemsEnabled() {
42 		return true;
43 	}
44 
45 	@Override
isEnabled(int position)46 	public boolean isEnabled(int position) {
47 		return true;
48 	}
49 
50 	@Override
getItemId(int position)51 	public long getItemId(int position) {
52 		return position;
53 	}
54 
55 	@Override
getItemViewType(int position)56 	public int getItemViewType(int position) {
57 		return 0;
58 	}
59 
60 	@Override
getViewTypeCount()61 	public int getViewTypeCount() {
62 		return 1;
63 	}
64 
65 	@Override
hasStableIds()66 	public boolean hasStableIds() {
67 		return true;
68 	}
69 
70 }
71