listview适配器模板快递开发集成缓存优化,滑动监听

来源:互联网 发布:确保数据的准确性 编辑:程序博客网 时间:2024/06/06 13:03

    

public class SimAdapter extends BaseAdapter {    private ViewHolder viewHolder;    private boolean isScroll = false;    public void setScrollState(boolean b) {        isScroll = b;    }    @Override    public int getCount() {        return list .size();    }    @Override    public Object getItem(int position) {        return list .get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(final int position, View rootView, ViewGroup parent) {        if (rootView == null) {            viewHolder = new ViewHolder();            rootView = LayoutInflater.from(mContext).inflate(R.layout.qiudui_bisai, null);                      viewHolder.t1 = (TextView) rootView.findViewById(R.id.t1);             viewHolder.r1 = (RoundImageView) rootView.findViewById(R.id.r1);                 rootView.setTag(viewHolder);        } else {            viewHolder = (ViewHolder) rootView.getTag();        }        if (!isScroll) {
             ImageLoader.getInstance().displayImage("url", viewHolder.r1);
              viewHolder.t1.setText(riqi);
            }    return rootView;}class ViewHolder {    TextView t1;       RoundImageView r1;



mListView1.setOnScrollListener(new AbsListView.OnScrollListener() {    @Override    public void onScrollStateChanged(AbsListView view, int scrollState) {        if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {            simAdapter.setScrollState(false);        } else if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING) {            simAdapter.setScrollState(true);        } else if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {            simAdapter.setScrollState(true);        }        simAdapter.notifyDataSetChanged();    }    @Override    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {        if (firstVisibleItem + visibleItemCount == totalItemCount) {//滑动了底部        }    }});