package com.hx.hxchat.holder; import android.view.View; import android.view.View.OnClickListener; import android.widget.RelativeLayout; import com.hx.hxchat.adapter.DefaultAdapter; import com.mgw.member.R; import com.mgw.member.uitls.UIUtils; public class MoreHolder extends BaseHolder<Integer> implements OnClickListener { public static final int HAS_MORE = 0; public static final int NO_MORE = 1; public static final int ERROR = 2; private RelativeLayout mLoading, mError; private DefaultAdapter mAdapter; public MoreHolder(DefaultAdapter adapter, boolean hasMore) { setData(hasMore ? HAS_MORE : NO_MORE); mAdapter = adapter; } @Override protected View initView() { View view = UIUtils.inflate(R.layout.list_more_loading); mLoading = (RelativeLayout) view.findViewById(R.id.rl_more_loading); mError = (RelativeLayout) view.findViewById(R.id.rl_more_error); mError.setOnClickListener(this); return view; } @Override public void refreshView() { Integer data = getData(); mLoading.setVisibility(data == HAS_MORE ? View.VISIBLE : View.GONE); mError.setVisibility(data == ERROR ? View.VISIBLE : View.GONE); } @Override public View getRootView() { if (getData() == HAS_MORE) { loadMore(); } return super.getRootView(); } public MoreHolder setAdapter(DefaultAdapter adapter) { mAdapter = adapter; return this; } @Override public void onClick(View v) { loadMore(); } public void loadMore() { mAdapter.loadMore(); } }