1- package com .uis .stackview .demo .activity ;
1+ package com .uis .stackviewlayout .demo .activity ;
22
33import android .content .Context ;
4+ import android .util .Log ;
45import android .view .LayoutInflater ;
56import android .view .View ;
67import android .view .ViewGroup ;
78import android .widget .ImageView ;
89import com .bumptech .glide .Glide ;
9- import com .facebook .drawee .view .SimpleDraweeView ;
10- import com .uis .stackview .demo .R ;
11- import com .uis .stackview .demo .entity .ItemEntity ;
1210import com .uis .stackview .StackLayout ;
11+ import com .uis .stackview .demo .R ;
12+ import com .uis .stackviewlayout .demo .entity .ItemEntity ;
13+ import com .uis .stackviewlayout .StackViewLayout ;
1314import org .json .JSONArray ;
1415import org .json .JSONObject ;
1516import java .io .InputStream ;
@@ -43,7 +44,7 @@ public int getItemViewType(int position) {
4344
4445 @ Override
4546 public int getItemCount () {
46- return 10 ;
47+ return 2 ;
4748 }
4849
4950 public static ArrayList <ItemEntity > initDataList (Context context ) {
@@ -72,26 +73,27 @@ public static ArrayList<ItemEntity> initDataList(Context context) {
7273 return dataList ;
7374 }
7475
75- public static class ViewHolder {
76- ImageView imageView ;
77- SimpleDraweeView dv ;
78- }
79-
8076 static class StackVH extends RecyclerView .ViewHolder {
81- StackLayout stackLayout ;
77+ StackViewLayout stackLayout ;
8278 List <ItemEntity > stackData = new ArrayList <>();
83- StackLayout . StackAdapter adapter = new StackLayout . StackAdapter () {
79+ StackViewLayout . StackViewAdapter adapter = new StackViewLayout . StackViewAdapter () {
8480
8581 @ Override
8682 public View onCreateView (ViewGroup parent ,int viewType ) {
8783 return LayoutInflater .from (parent .getContext ()).inflate (R .layout .item_layout ,parent ,false );
8884 }
8985
9086 @ Override
91- public void onBindView (View view , int position ) {
87+ public void onBindView (View view , final int position ) {
9288 ImageView imageView = view .findViewById (R .id .imageView );
9389 try {
9490 Glide .with (view .getContext ()).load (stackData .get (position ).getMapImageUrl ()).into (imageView );
91+ imageView .setOnClickListener (new View .OnClickListener (){
92+ @ Override
93+ public void onClick (View v ) {
94+ Log .e ("xx" ,"onClicked ..." +position );
95+ }
96+ });
9597 }catch (Exception ex ){
9698 ex .printStackTrace ();
9799 }
@@ -101,25 +103,46 @@ public void onBindView(View view, int position) {
101103 public int getItemCount () {
102104 return stackData .size ();
103105 }
106+ };
104107
108+ StackLayout layout ;
109+ StackLayout .StackAdapter adapter1 = new StackLayout .StackAdapter () {
105110 @ Override
106- public void onItemDisplay (int position ) {
111+ public View onCreateView (ViewGroup parent ) {
112+ return LayoutInflater .from (parent .getContext ()).inflate (R .layout .item_layout ,parent ,false );
113+ }
107114
115+ @ Override
116+ public void onBindView (View view , final int position ) {
117+ ImageView imageView = view .findViewById (R .id .imageView );
118+ try {
119+ Glide .with (view .getContext ()).load (stackData .get (position ).getMapImageUrl ()).into (imageView );
120+ }catch (Exception ex ){
121+ ex .printStackTrace ();
122+ }
123+ }
124+
125+ @ Override
126+ public int getItemCount () {
127+ return stackData .size ();
108128 }
109129 };
110130
111131 public StackVH (boolean left ,ViewGroup parent ) {
112132 super (LayoutInflater .from (parent .getContext ()).inflate (
113133 left ? R .layout .stack_left : R .layout .stack_right ,parent ,false ));
114- stackLayout = itemView .findViewById (R .id .stacklayout );
134+ if (left )
135+ stackLayout = itemView .findViewById (R .id .stacklayout );
136+ else
137+ layout = itemView .findViewById (R .id .stacklayout );
115138 }
116139
117140 public void binderVH (final List <ItemEntity > dataList ){
118141 stackData = dataList ;
119- if (stackLayout .getAdapter () == null ) {
142+ if (stackLayout != null && stackLayout .getAdapter () == null ) {
120143 stackLayout .setAdapter (adapter );
121- }else {
122- stackLayout . notifyDataChanged ( );
144+ }else if ( layout != null && layout . getAdapter () == null ) {
145+ layout . setAdapter ( adapter1 );
123146 }
124147 }
125148 }
0 commit comments