Skip to content

Commit ab9df65

Browse files
committed
增加新的demo
1 parent 6abae92 commit ab9df65

File tree

10 files changed

+287
-89
lines changed

10 files changed

+287
-89
lines changed
2 Bytes
Binary file not shown.
3 Bytes
Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
<category android:name="android.intent.category.LAUNCHER" />
1616
</intent-filter>
1717
</activity>
18+
<activity android:name=".PtrrvGridViewMode" >
19+
</activity>
20+
<activity android:name=".PtrrvListViewMode" >
21+
</activity>
1822
</application>
1923

2024
</manifest>
Lines changed: 15 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,16 @@
11
package com.linhh.ptrrv.android_pulltorefreshrecyclerview;
22

3-
import android.content.Context;
4-
import android.os.Handler;
5-
import android.os.Message;
6-
import android.support.v4.widget.SwipeRefreshLayout;
3+
import android.content.Intent;
74
import android.support.v7.app.AppCompatActivity;
85
import android.os.Bundle;
9-
import android.support.v7.widget.LinearLayoutManager;
10-
import android.support.v7.widget.RecyclerView;
116
import android.view.View;
12-
import android.view.ViewGroup;
13-
import android.widget.Toast;
14-
15-
import com.lhh.ptrrv.library.PullToRefreshRecyclerView;
7+
import android.widget.Button;
168
/**
179
* Created by linhonghong on 2015/11/13.
1810
*/
1911
public class MainActivity extends AppCompatActivity {
2012

21-
private PullToRefreshRecyclerView mPtrrv;
22-
private PtrrvAdapter mAdapter;
23-
private static final int DEFAULT_ITEM_SIZE = 50;
24-
private static final int ITEM_SIZE_OFFSET = 50;
25-
26-
private static final int MSG_CODE_REFRESH = 0;
27-
private static final int MSG_CODE_LOADMORE = 1;
28-
29-
private static final int TIME = 1000;
13+
private Button mBtnGridViewMode,mBtnListViewMode;
3014

3115
@Override
3216
protected void onCreate(Bundle savedInstanceState) {
@@ -37,72 +21,24 @@ protected void onCreate(Bundle savedInstanceState) {
3721
}
3822

3923
private void findViews(){
40-
mPtrrv = (PullToRefreshRecyclerView) this.findViewById(R.id.ptrrv);
41-
mPtrrv.setSwipeEnable(true);//open swipe
42-
mPtrrv.setLayoutManager(new LinearLayoutManager(this));
43-
mPtrrv.setPagingableListener(new PullToRefreshRecyclerView.PagingableListener() {
24+
mBtnGridViewMode = (Button) this.findViewById(R.id.btn_gv_mode);
25+
mBtnGridViewMode.setOnClickListener(new View.OnClickListener() {
4426
@Override
45-
public void onLoadMoreItems() {
46-
mHandler.sendEmptyMessageDelayed(MSG_CODE_LOADMORE, TIME);
27+
public void onClick(View v) {
28+
MainActivity.this.
29+
startActivity(
30+
new Intent(MainActivity.this, PtrrvGridViewMode.class));
4731
}
4832
});
49-
mPtrrv.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
33+
mBtnListViewMode = (Button) this.findViewById(R.id.btn_lv_mode);
34+
mBtnListViewMode.setOnClickListener(new View.OnClickListener() {
5035
@Override
51-
public void onRefresh() {
52-
mHandler.sendEmptyMessageDelayed(MSG_CODE_REFRESH, TIME);
36+
public void onClick(View v) {
37+
MainActivity.this.
38+
startActivity(
39+
new Intent(MainActivity.this,PtrrvListViewMode.class));
5340
}
5441
});
55-
mAdapter = new PtrrvAdapter(this);
56-
mAdapter.setCount(DEFAULT_ITEM_SIZE);
57-
mPtrrv.setAdapter(mAdapter);
58-
mPtrrv.onFinishLoading(true, false);
5942
}
6043

61-
Handler mHandler = new Handler(){
62-
@Override
63-
public void handleMessage(Message msg) {
64-
super.handleMessage(msg);
65-
if (msg.what == MSG_CODE_REFRESH) {
66-
mAdapter.setCount(DEFAULT_ITEM_SIZE);
67-
mAdapter.notifyDataSetChanged();
68-
mPtrrv.setOnRefreshComplete();
69-
} else if (msg.what == MSG_CODE_LOADMORE) {
70-
if(mAdapter.getItemCount() == DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET){
71-
//over
72-
Toast.makeText(MainActivity.this, R.string.nomoredata, Toast.LENGTH_SHORT).show();
73-
mPtrrv.onFinishLoading(false, false);
74-
}else {
75-
mAdapter.setCount(DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET);
76-
mAdapter.notifyDataSetChanged();
77-
mPtrrv.onFinishLoading(true, false);
78-
}
79-
}
80-
}
81-
};
82-
83-
private class PtrrvAdapter extends PtrrvBaseAdapter<PtrrvAdapter.ViewHolder> {
84-
public PtrrvAdapter(Context context) {
85-
super(context);
86-
}
87-
88-
89-
@Override
90-
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
91-
View view = mInflater.inflate(R.layout.ptrrv_item, null);
92-
return new ViewHolder(view);
93-
}
94-
95-
96-
@Override
97-
public void onBindViewHolder(ViewHolder holder, int position) {
98-
99-
}
100-
101-
class ViewHolder extends RecyclerView.ViewHolder{
102-
103-
public ViewHolder(View itemView) {
104-
super(itemView);
105-
}
106-
}
107-
}
10844
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package com.linhh.ptrrv.android_pulltorefreshrecyclerview;
2+
3+
import android.content.Context;
4+
import android.os.Bundle;
5+
import android.os.Handler;
6+
import android.os.Message;
7+
import android.support.v4.widget.SwipeRefreshLayout;
8+
import android.support.v7.app.AppCompatActivity;
9+
import android.support.v7.widget.GridLayoutManager;
10+
import android.support.v7.widget.LinearLayoutManager;
11+
import android.support.v7.widget.RecyclerView;
12+
import android.view.View;
13+
import android.view.ViewGroup;
14+
import android.widget.Toast;
15+
16+
import com.lhh.ptrrv.library.PullToRefreshRecyclerView;
17+
18+
/**
19+
* Created by Linhh on 15/11/15.
20+
*/
21+
public class PtrrvGridViewMode extends AppCompatActivity {
22+
23+
private PullToRefreshRecyclerView mPtrrv;
24+
private PtrrvAdapter mAdapter;
25+
private static final int DEFAULT_ITEM_SIZE = 60;
26+
private static final int ITEM_SIZE_OFFSET = 40;
27+
28+
private static final int MSG_CODE_REFRESH = 0;
29+
private static final int MSG_CODE_LOADMORE = 1;
30+
31+
private static final int TIME = 1000;
32+
33+
@Override
34+
protected void onCreate(Bundle savedInstanceState) {
35+
super.onCreate(savedInstanceState);
36+
setContentView(R.layout.activity_gridview);
37+
findViews();
38+
39+
}
40+
41+
private void findViews(){
42+
mPtrrv = (PullToRefreshRecyclerView) this.findViewById(R.id.ptrrv);
43+
mPtrrv.setSwipeEnable(true);//open swipe
44+
mPtrrv.setLayoutManager(new GridLayoutManager(this,4));
45+
mPtrrv.setPagingableListener(new PullToRefreshRecyclerView.PagingableListener() {
46+
@Override
47+
public void onLoadMoreItems() {
48+
mHandler.sendEmptyMessageDelayed(MSG_CODE_LOADMORE, TIME);
49+
}
50+
});
51+
mPtrrv.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
52+
@Override
53+
public void onRefresh() {
54+
mHandler.sendEmptyMessageDelayed(MSG_CODE_REFRESH, TIME);
55+
}
56+
});
57+
mAdapter = new PtrrvAdapter(this);
58+
mAdapter.setCount(DEFAULT_ITEM_SIZE);
59+
mPtrrv.setAdapter(mAdapter);
60+
mPtrrv.onFinishLoading(true, false);
61+
}
62+
63+
Handler mHandler = new Handler(){
64+
@Override
65+
public void handleMessage(Message msg) {
66+
super.handleMessage(msg);
67+
if (msg.what == MSG_CODE_REFRESH) {
68+
mAdapter.setCount(DEFAULT_ITEM_SIZE);
69+
mAdapter.notifyDataSetChanged();
70+
mPtrrv.setOnRefreshComplete();
71+
} else if (msg.what == MSG_CODE_LOADMORE) {
72+
if(mAdapter.getItemCount() == DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET){
73+
//over
74+
Toast.makeText(PtrrvGridViewMode.this, R.string.nomoredata, Toast.LENGTH_SHORT).show();
75+
mPtrrv.onFinishLoading(false, false);
76+
}else {
77+
mAdapter.setCount(DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET);
78+
mAdapter.notifyDataSetChanged();
79+
mPtrrv.onFinishLoading(true, false);
80+
}
81+
}
82+
}
83+
};
84+
85+
private class PtrrvAdapter extends PtrrvBaseAdapter<PtrrvAdapter.ViewHolder> {
86+
public PtrrvAdapter(Context context) {
87+
super(context);
88+
}
89+
90+
91+
@Override
92+
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
93+
View view = mInflater.inflate(R.layout.ptrrv_item, null);
94+
return new ViewHolder(view);
95+
}
96+
97+
98+
@Override
99+
public void onBindViewHolder(ViewHolder holder, int position) {
100+
101+
}
102+
103+
class ViewHolder extends RecyclerView.ViewHolder{
104+
105+
public ViewHolder(View itemView) {
106+
super(itemView);
107+
}
108+
}
109+
}
110+
}
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
package com.linhh.ptrrv.android_pulltorefreshrecyclerview;
2+
3+
import android.content.Context;
4+
import android.os.Bundle;
5+
import android.os.Handler;
6+
import android.os.Message;
7+
import android.support.v4.widget.SwipeRefreshLayout;
8+
import android.support.v7.app.AppCompatActivity;
9+
import android.support.v7.widget.LinearLayoutManager;
10+
import android.support.v7.widget.RecyclerView;
11+
import android.view.View;
12+
import android.view.ViewGroup;
13+
import android.widget.Toast;
14+
15+
import com.lhh.ptrrv.library.PullToRefreshRecyclerView;
16+
17+
/**
18+
* Created by Linhh on 15/11/15.
19+
*/
20+
public class PtrrvListViewMode extends AppCompatActivity {
21+
22+
private PullToRefreshRecyclerView mPtrrv;
23+
private PtrrvAdapter mAdapter;
24+
private static final int DEFAULT_ITEM_SIZE = 50;
25+
private static final int ITEM_SIZE_OFFSET = 50;
26+
27+
private static final int MSG_CODE_REFRESH = 0;
28+
private static final int MSG_CODE_LOADMORE = 1;
29+
30+
private static final int TIME = 1000;
31+
32+
@Override
33+
protected void onCreate(Bundle savedInstanceState) {
34+
super.onCreate(savedInstanceState);
35+
setContentView(R.layout.activity_listview);
36+
findViews();
37+
38+
}
39+
40+
private void findViews(){
41+
mPtrrv = (PullToRefreshRecyclerView) this.findViewById(R.id.ptrrv);
42+
mPtrrv.setSwipeEnable(true);//open swipe
43+
mPtrrv.setLayoutManager(new LinearLayoutManager(this));
44+
mPtrrv.setPagingableListener(new PullToRefreshRecyclerView.PagingableListener() {
45+
@Override
46+
public void onLoadMoreItems() {
47+
mHandler.sendEmptyMessageDelayed(MSG_CODE_LOADMORE, TIME);
48+
}
49+
});
50+
mPtrrv.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
51+
@Override
52+
public void onRefresh() {
53+
mHandler.sendEmptyMessageDelayed(MSG_CODE_REFRESH, TIME);
54+
}
55+
});
56+
mAdapter = new PtrrvAdapter(this);
57+
mAdapter.setCount(DEFAULT_ITEM_SIZE);
58+
mPtrrv.setAdapter(mAdapter);
59+
mPtrrv.onFinishLoading(true, false);
60+
}
61+
62+
Handler mHandler = new Handler(){
63+
@Override
64+
public void handleMessage(Message msg) {
65+
super.handleMessage(msg);
66+
if (msg.what == MSG_CODE_REFRESH) {
67+
mAdapter.setCount(DEFAULT_ITEM_SIZE);
68+
mAdapter.notifyDataSetChanged();
69+
mPtrrv.setOnRefreshComplete();
70+
} else if (msg.what == MSG_CODE_LOADMORE) {
71+
if(mAdapter.getItemCount() == DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET){
72+
//over
73+
Toast.makeText(PtrrvListViewMode.this, R.string.nomoredata, Toast.LENGTH_SHORT).show();
74+
mPtrrv.onFinishLoading(false, false);
75+
}else {
76+
mAdapter.setCount(DEFAULT_ITEM_SIZE + ITEM_SIZE_OFFSET);
77+
mAdapter.notifyDataSetChanged();
78+
mPtrrv.onFinishLoading(true, false);
79+
}
80+
}
81+
}
82+
};
83+
84+
private class PtrrvAdapter extends PtrrvBaseAdapter<PtrrvAdapter.ViewHolder> {
85+
public PtrrvAdapter(Context context) {
86+
super(context);
87+
}
88+
89+
90+
@Override
91+
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
92+
View view = mInflater.inflate(R.layout.ptrrv_item, null);
93+
return new ViewHolder(view);
94+
}
95+
96+
97+
@Override
98+
public void onBindViewHolder(ViewHolder holder, int position) {
99+
100+
}
101+
102+
class ViewHolder extends RecyclerView.ViewHolder{
103+
104+
public ViewHolder(View itemView) {
105+
super(itemView);
106+
}
107+
}
108+
}
109+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
4+
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
5+
android:paddingRight="@dimen/activity_horizontal_margin"
6+
android:paddingTop="@dimen/activity_vertical_margin"
7+
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
8+
<com.lhh.ptrrv.library.PullToRefreshRecyclerView
9+
android:id="@+id/ptrrv"
10+
android:layout_width="match_parent"
11+
android:layout_height="match_parent">
12+
13+
</com.lhh.ptrrv.library.PullToRefreshRecyclerView>
14+
</RelativeLayout>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
4+
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
5+
android:paddingRight="@dimen/activity_horizontal_margin"
6+
android:paddingTop="@dimen/activity_vertical_margin"
7+
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
8+
<com.lhh.ptrrv.library.PullToRefreshRecyclerView
9+
android:id="@+id/ptrrv"
10+
android:layout_width="match_parent"
11+
android:layout_height="match_parent">
12+
13+
</com.lhh.ptrrv.library.PullToRefreshRecyclerView>
14+
</RelativeLayout>

0 commit comments

Comments
 (0)