Skip to content

Commit

Permalink
1.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaomolong authored and xiaomolong committed Sep 6, 2016
1 parent 540087f commit 469d563
Show file tree
Hide file tree
Showing 10 changed files with 71 additions and 89 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
## build.gradle文件
```java
dependencies {
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.0.9'
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.1'
}
```

Expand Down
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ android {
applicationId "com.wuxiaolong.pullloadmorerecyclerview"
minSdkVersion 14
targetSdkVersion 22
versionCode 109
versionName "1.0.9"
versionCode 111
versionName "1.1.1"
}
buildTypes {
release {
Expand All @@ -24,5 +24,5 @@ dependencies {
compile 'com.android.support:cardview-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
// compile project(':library')
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.0'
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.1'
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
* 微信公众号:AndroidProgrammer
* 博客:http://wuxiaolong.me/
*/
public class FirstFragment extends Fragment {
public class FirstFragment extends Fragment implements PullLoadMoreRecyclerView.PullLoadMoreListener {

private PullLoadMoreRecyclerView mPullLoadMoreRecyclerView;
private int mCount = 1;
Expand All @@ -43,7 +43,7 @@ public void onViewCreated(View view, Bundle savedInstanceState) {
//获取mRecyclerView对象
mRecyclerView = mPullLoadMoreRecyclerView.getRecyclerView();
//代码设置scrollbar无效?未解决!
mRecyclerView.setVerticalScrollBarEnabled (true);
mRecyclerView.setVerticalScrollBarEnabled(true);
//设置下拉刷新是否可见
//mPullLoadMoreRecyclerView.setRefreshing(true);
//设置是否可以下拉刷新
Expand All @@ -60,9 +60,11 @@ public void onViewCreated(View view, Bundle savedInstanceState) {
mPullLoadMoreRecyclerView.setFooterViewBackgroundColor(R.color.colorBackground);
mPullLoadMoreRecyclerView.setLinearLayout();

mPullLoadMoreRecyclerView.setOnPullLoadMoreListener(new PullLoadMoreListener());
//setEmptyView
mPullLoadMoreRecyclerView.setOnPullLoadMoreListener(this);
//setEmptyView,演示空数据,可以提示“数据加载中”
mPullLoadMoreRecyclerView.setEmptyView(LayoutInflater.from(getContext()).inflate(R.layout.empty_view, null));
mRecyclerViewAdapter = new RecyclerViewAdapter(getActivity());
mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter);
getData();

}
Expand All @@ -74,13 +76,7 @@ public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (mRecyclerViewAdapter == null) {
mRecyclerViewAdapter = new RecyclerViewAdapter(getActivity(), setList());
mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter);
} else {
mRecyclerViewAdapter.getDataList().addAll(setList());
mRecyclerViewAdapter.notifyDataSetChanged();
}
mRecyclerViewAdapter.addAllData(setList());
mPullLoadMoreRecyclerView.setPullLoadMoreCompleted();
}
});
Expand All @@ -91,7 +87,7 @@ public void run() {
}

public void clearData() {
mRecyclerViewAdapter.getDataList().clear();
mRecyclerViewAdapter.clearData();
mRecyclerViewAdapter.notifyDataSetChanged();
}

Expand All @@ -106,24 +102,22 @@ private List<String> setList() {

}

@Override
public void onRefresh() {
Log.e("wxl", "onRefresh");
setRefresh();
getData();
}

class PullLoadMoreListener implements PullLoadMoreRecyclerView.PullLoadMoreListener {
@Override
public void onRefresh() {
setRefresh();
getData();
}

@Override
public void onLoadMore() {
Log.e("wxl", "onLoadMore");
mCount = mCount + 1;
getData();
}
@Override
public void onLoadMore() {
Log.e("wxl", "onLoadMore");
mCount = mCount + 1;
getData();
}

private void setRefresh() {
mRecyclerViewAdapter.removeAllDataList();
mRecyclerViewAdapter.clearData();
mCount = 1;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

/**
Expand All @@ -16,18 +17,19 @@
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {

private Context mContext;
private List<String> dataList;
private List<String> dataList = new ArrayList<>();

public List<String> getDataList() {
return dataList;

public void addAllData(List<String> dataList) {
this.dataList.addAll(dataList);
notifyDataSetChanged();
}

public void removeAllDataList() {
this.dataList.removeAll(dataList);
public void clearData() {
this.dataList.clear();
}

public RecyclerViewAdapter(Context context, List<String> dataList) {
this.dataList = dataList;
public RecyclerViewAdapter(Context context) {
mContext = context;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ public void onViewCreated(View view, Bundle savedInstanceState) {
mPullLoadMoreRecyclerView = (PullLoadMoreRecyclerView) view.findViewById(R.id.pullLoadMoreRecyclerView);
//mPullLoadMoreRecyclerView.setRefreshing(true);
mPullLoadMoreRecyclerView.setGridLayout(2);
mRecyclerViewAdapter = new RecyclerViewAdapter(getActivity(), setList());
mRecyclerViewAdapter = new RecyclerViewAdapter(getActivity());
mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter);
mPullLoadMoreRecyclerView.setOnPullLoadMoreListener(new PullLoadMoreListener());
getData();
}

private void getData() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mRecyclerViewAdapter.getDataList().addAll(setList());
mRecyclerViewAdapter.notifyDataSetChanged();
mRecyclerViewAdapter.addAllData(setList());
mPullLoadMoreRecyclerView.setPullLoadMoreCompleted();
}
}, 1000);
Expand Down Expand Up @@ -74,9 +74,7 @@ public void onLoadMore() {
}

private void setRefresh() {

mRecyclerViewAdapter.getDataList().clear();

mRecyclerViewAdapter.clearData();
mCount = 1;

}
Expand Down
6 changes: 3 additions & 3 deletions library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
versionCode 110
versionName "1.1.0"
versionCode 111
versionName "1.1.1"
}
buildTypes {
release {
Expand All @@ -37,7 +37,7 @@ dependencies {
// 这个version是区分library版本的,
// 因此当我们需要更新library时记得修改这个version,
// 这个version影响后面的引用
version = "1.1.0"
version = "1.1.1"

def siteUrl = 'https://github.com/WuXiaolong/PullLoadMoreRecyclerView' // 项目的主页
def gitUrl = 'https://github.com/WuXiaolong/PullLoadMoreRecyclerView.git' // Git仓库的url
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class PullLoadMoreRecyclerView extends LinearLayout {
private Context mContext;
private TextView loadMoreText;
private LinearLayout loadMoreLayout;
private PullLoadMoreRecyclerView.AdapterDataObserver mEmptyDataObserver;
private EmptyAdapterDataObserver mEmptyDataObserver;

public PullLoadMoreRecyclerView(Context context) {
super(context);
Expand Down Expand Up @@ -144,38 +144,29 @@ public void setEmptyView(View emptyView) {
}


public void showEmptyView() {

RecyclerView.Adapter<?> adapter = mRecyclerView.getAdapter();
if (adapter != null && mEmptyViewContainer.getChildCount() != 0) {
if (adapter.getItemCount() == 0) {
mFooterView.setVisibility(View.GONE);
mEmptyViewContainer.setVisibility(VISIBLE);
} else {
mEmptyViewContainer.setVisibility(GONE);
}
}

}

public void setAdapter(RecyclerView.Adapter adapter) {
if (mEmptyDataObserver == null) {
mEmptyDataObserver = new EmptyAdapterDataObserver();
}
RecyclerView.Adapter oldAdapter = mRecyclerView.getAdapter();
if (oldAdapter != null) {
oldAdapter.unregisterAdapterDataObserver(mEmptyDataObserver);
}
if (adapter != null) {
mRecyclerView.setAdapter(adapter);
showEmptyView();
if (mEmptyDataObserver == null) {
mEmptyDataObserver = new PullLoadMoreRecyclerView.AdapterDataObserver();
}
adapter.registerAdapterDataObserver(mEmptyDataObserver);
}
}

@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
if (mEmptyDataObserver != null) {
RecyclerView.Adapter<?> adapter = mRecyclerView.getAdapter();
if (adapter != null) {
adapter.registerAdapterDataObserver(mEmptyDataObserver);
public void showEmptyView() {
RecyclerView.Adapter oldAdapter = mRecyclerView.getAdapter();
if (oldAdapter != null && mEmptyViewContainer.getChildCount() != 0) {
if (oldAdapter.getItemCount() == 0) {
mFooterView.setVisibility(View.GONE);
mEmptyViewContainer.setVisibility(VISIBLE);
} else {
mEmptyViewContainer.setVisibility(GONE);
}
}
}
Expand All @@ -186,9 +177,9 @@ protected void onAttachedToWindow() {
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
RecyclerView.Adapter<?> adapter = mRecyclerView.getAdapter();
if (adapter != null) {
adapter.unregisterAdapterDataObserver(mEmptyDataObserver);
RecyclerView.Adapter oldAdapter = mRecyclerView.getAdapter();
if (oldAdapter != null) {
oldAdapter.unregisterAdapterDataObserver(mEmptyDataObserver);
}
}

Expand All @@ -197,23 +188,11 @@ protected void onDetachedFromWindow() {
* When adapter's item count greater than 0 and empty view has been set,then show the empty view.
* when adapter's item count is 0 ,then empty view hide.
*/
private class AdapterDataObserver extends android.support.v7.widget.RecyclerView.AdapterDataObserver {
private class EmptyAdapterDataObserver extends android.support.v7.widget.RecyclerView.AdapterDataObserver {
@Override
public void onChanged() {
showEmptyView();
}

@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
super.onItemRangeInserted(positionStart, itemCount);
showEmptyView();
}

@Override
public void onItemRangeRemoved(int positionStart, int itemCount) {
super.onItemRangeRemoved(positionStart, itemCount);
showEmptyView();
}
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
/**
* Created by WuXiaolong
* on 2015/7/7.
* github:https://github.com/WuXiaolong/PullLoadMoreRecyclerView
* weibo:http://weibo.com/u/2175011601
* 微信公众号:吴小龙同学
* 个人博客:http://wuxiaolong.me/
*/
public class RecyclerViewOnScroll extends RecyclerView.OnScrollListener {
private PullLoadMoreRecyclerView mPullLoadMoreRecyclerView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@
import android.support.v4.widget.SwipeRefreshLayout;

/**
* Created by WuXiaolong on 2015/7/7.
* Created by WuXiaolong
* on 2015/7/7.
* github:https://github.com/WuXiaolong/PullLoadMoreRecyclerView
* weibo:http://weibo.com/u/2175011601
* 微信公众号:吴小龙同学
* 个人博客:http://wuxiaolong.me/
*/
public class SwipeRefreshLayoutOnRefresh implements SwipeRefreshLayout.OnRefreshListener {
private PullLoadMoreRecyclerView mPullLoadMoreRecyclerView;
Expand Down

0 comments on commit 469d563

Please sign in to comment.