参考https://blog.csdn.net/zhang453230017/article/details/68944545
上述问题在于点击之后会滑动回第一个,问题在于:
notifyDataSetChanged会保存刷新前的状态,比如Listview滑动的位置;
notifyDataSetInvalidated会清空所有信息,重新布局,位置会到最上方;
所以换成notifyDataSetChanged就ok了。
adapter:
public class HorizontalListViewAdapter extends BaseAdapter {
private LayoutInflater myLayoutInflater = null;
private final Context context;
private int screenWidth;
private List<Map<String, Object>> mData;
private int checked = -1;//初始选择为-1,position没有-1嘛,那就是谁都不选咯
public HorizontalListViewAdapter(Context applicationContext, int screenWidth, List<Map<String, Object>> mData) {
this.context = applicationContext;
this.screenWidth = screenWidth;
this.mData = mData;