Skip to content

Commit

Permalink
add BaseQuckAdapter structure, add content view ,In order to fit Data…
Browse files Browse the repository at this point in the history
… Binding
  • Loading branch information
ChadCym committed May 12, 2016
1 parent 1c2de90 commit 7ccf2f1
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,23 +59,27 @@ public void onClick(View v) {

@Override
public void onLoadMoreRequested() {
if (mCurrentCounter >= TOTAL_COUNTER) {
mRecyclerView.post(new Runnable() {
@Override
public void run() {
mRecyclerView.post(new Runnable() {
@Override
public void run() {
if (mCurrentCounter >= TOTAL_COUNTER) {

mQuickAdapter.notifyDataChangedAfterLoadMore(false);


} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mQuickAdapter.notifyDataChangedAfterLoadMore(DataServer.getSampleData(PAGE_SIZE), true);
mCurrentCounter = mQuickAdapter.getItemCount();
}
}, delayMillis);
}
});

} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mQuickAdapter.notifyDataChangedAfterLoadMore(DataServer.getSampleData(PAGE_SIZE),true);
mCurrentCounter = mQuickAdapter.getItemCount();
}
}, delayMillis);
}
}


});
}


Expand All @@ -85,7 +89,7 @@ public void onRefresh() {
@Override
public void run() {
mQuickAdapter.setNewData(DataServer.getSampleData(PAGE_SIZE));
mCurrentCounter = PAGE_SIZE;
mQuickAdapter.openLoadMore(PAGE_SIZE, true);
mSwipeRefreshLayout.setRefreshing(false);
}
}, delayMillis);
Expand All @@ -97,7 +101,7 @@ private void initAdapter() {
mRecyclerView.setAdapter(mQuickAdapter);
mCurrentCounter = mQuickAdapter.getItemCount();
mQuickAdapter.setOnLoadMoreListener(this);
mQuickAdapter.openLoadMore(PAGE_SIZE,true);//or call mQuickAdapter.setPageSize(PAGE_SIZE); mQuickAdapter.openLoadMore(true);
mQuickAdapter.openLoadMore(PAGE_SIZE, true);//or call mQuickAdapter.setPageSize(PAGE_SIZE); mQuickAdapter.openLoadMore(true);
addHeadView();
mQuickAdapter.setOnRecyclerViewItemClickListener(new BaseQuickAdapter.OnRecyclerViewItemClickListener() {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public abstract class BaseQuickAdapter<T> extends RecyclerView.Adapter<RecyclerV
private View mHeaderView;
private View mFooterView;
private int pageSize = -1;
private View mContentView;
/**
* View to show if there are no items to show.
*/
Expand Down Expand Up @@ -156,6 +157,7 @@ public void setOnRecyclerViewItemClickListener(OnRecyclerViewItemClickListener o
public interface OnRecyclerViewItemClickListener {
public void onItemClick(View view, int position);
}

public void setOnRecyclerViewItemLongClickListener(OnRecyclerViewItemLongClickListener onRecyclerViewItemLongClickListener) {
this.onRecyclerViewItemLongClickListener = onRecyclerViewItemLongClickListener;
}
Expand Down Expand Up @@ -206,6 +208,11 @@ public BaseQuickAdapter(Context context, List<T> data) {
this(context, 0, data);
}

public BaseQuickAdapter(Context context, View contentView, List<T> data) {
this(context, 0, data);
mContentView = contentView;
}

public BaseQuickAdapter(Context context) {
this(context, null);
}
Expand Down Expand Up @@ -357,7 +364,10 @@ protected BaseViewHolder onCreateDefViewHolder(ViewGroup parent, int viewType) {
}

protected BaseViewHolder createBaseViewHolder(ViewGroup parent, int layoutResId) {
return new BaseViewHolder(mContext, getItemView(layoutResId, parent));
if (mContentView == null) {
return new BaseViewHolder(mContext, getItemView(layoutResId, parent));
}
return new BaseViewHolder(mContext, mContentView);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ protected BaseViewHolder(Context context, View view) {

}

public View getConvertView() {
return convertView;
}

/**
* Will set the text of a TextView.
*
Expand Down Expand Up @@ -327,6 +331,7 @@ public BaseViewHolder setOnClickListener(int viewId, View.OnClickListener listen
view.setOnClickListener(listener);
return this;
}

public BaseViewHolder setOnClickListener(int viewId, BaseQuickAdapter.OnItemChildClickListener listener) {
View view = getView(viewId);
listener.position = getAdapterPosition();
Expand Down Expand Up @@ -471,7 +476,7 @@ public BaseViewHolder setAdapter(int viewId, Adapter adapter) {
}

@SuppressWarnings("unchecked")
public <T extends View> T getView(int viewId) {
public <T extends View> T getView(int viewId) {
View view = views.get(viewId);
if (view == null) {
view = convertView.findViewById(viewId);
Expand All @@ -481,7 +486,6 @@ public <T extends View> T getView(int viewId) {
}



/**
* Retrieves the last converted object on this view.
*/
Expand Down

0 comments on commit 7ccf2f1

Please sign in to comment.