@@ -27,8 +27,6 @@ public class GridViewWithHeaderAndFooterFragment extends TitleBaseFragment {
27
27
private ImageLoader mImageLoader ;
28
28
private ListViewDataAdapter <ImageListItem > mAdapter ;
29
29
private PtrClassicFrameLayout mPtrFrame ;
30
- private View mHeaderView ;
31
- private TextView mHeaderTextView ;
32
30
33
31
@ Override
34
32
protected View createView (LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) {
@@ -40,17 +38,41 @@ protected View createView(LayoutInflater inflater, ViewGroup container, Bundle s
40
38
41
39
final GridViewWithHeaderAndFooter gridView = (GridViewWithHeaderAndFooter ) view .findViewById (R .id .grid_view_with_header_and_footer );
42
40
43
- mHeaderView = inflater .inflate (R .layout .grid_view_header , null );
44
- mHeaderTextView = (TextView ) mHeaderView .findViewById (R .id .grid_view_header_text_view );
45
- mHeaderView .setOnClickListener (new View .OnClickListener () {
41
+ View headerView = inflater .inflate (R .layout .grid_view_header , null );
42
+ headerView .setOnClickListener (new View .OnClickListener () {
46
43
@ Override
47
44
public void onClick (View v ) {
48
45
mPtrFrame .autoRefresh ();
49
46
}
50
47
});
51
48
52
- View footerView = inflater .inflate (R .layout .grid_view_footer , null );
53
- gridView .addHeaderView (mHeaderView );
49
+ // change height: https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter/issues/12#issuecomment-70129036
50
+ View headerView2 = inflater .inflate (R .layout .grid_view_header , null );
51
+ final TextView headTextView = (TextView ) headerView2 .findViewById (R .id .grid_view_header_text_view );
52
+ headTextView .setText (R .string .cube_demo_grid_increase_height );
53
+ headerView2 .setOnClickListener (new View .OnClickListener () {
54
+ private boolean high = false ;
55
+
56
+ @ Override
57
+ public void onClick (View v ) {
58
+ FrameLayout .LayoutParams lyp = (FrameLayout .LayoutParams ) headTextView .getLayoutParams ();
59
+ if (high ) {
60
+ high = false ;
61
+ lyp .height = LocalDisplay .dp2px (100 );
62
+ headTextView .setText (R .string .cube_demo_grid_increase_height );
63
+ } else {
64
+ high = true ;
65
+ lyp .height = LocalDisplay .dp2px (200 );
66
+ headTextView .setText (R .string .cube_demo_grid_decrease_height );
67
+ }
68
+ headTextView .setLayoutParams (lyp );
69
+ mAdapter .notifyDataSetChanged ();
70
+ }
71
+ });
72
+
73
+ final View footerView = inflater .inflate (R .layout .grid_view_footer , null );
74
+ gridView .addHeaderView (headerView );
75
+ gridView .addHeaderView (headerView2 );
54
76
gridView .addFooterView (footerView );
55
77
56
78
mAdapter = new ListViewDataAdapter <ImageListItem >();
@@ -84,12 +106,6 @@ public void onData(ImageListData data, CacheAbleRequest.ResultType type, boolean
84
106
mAdapter .getDataList ().addAll (data .imageList );
85
107
mAdapter .notifyDataSetChanged ();
86
108
mPtrFrame .refreshComplete ();
87
-
88
- // increase height: https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter/issues/12#issuecomment-70129036
89
- FrameLayout .LayoutParams lyp = (FrameLayout .LayoutParams ) mHeaderTextView .getLayoutParams ();
90
- lyp .height = LocalDisplay .dp2px (100 + 100 );
91
- mHeaderTextView .setText (R .string .cube_demo_grid_header_height_changed );
92
- mHeaderTextView .setLayoutParams (lyp );
93
109
}
94
110
});
95
111
}
0 commit comments