10
10
import android .widget .TextView ;
11
11
12
12
public class MyAdapter extends RecyclerView .Adapter <MyAdapter .ViewHolder > {
13
- private ArrayList <String > mDataset ;
13
+ private ArrayList <String > values ;
14
14
15
15
// Provide a reference to the views for each data item
16
16
// Complex data items may need more than one view per item, and
@@ -19,63 +19,66 @@ public class ViewHolder extends RecyclerView.ViewHolder {
19
19
// each data item is just a string in this case
20
20
public TextView txtHeader ;
21
21
public TextView txtFooter ;
22
+ public View layout ;
22
23
23
24
public ViewHolder (View v ) {
24
25
super (v );
26
+ layout = v ;
25
27
txtHeader = (TextView ) v .findViewById (R .id .firstLine );
26
28
txtFooter = (TextView ) v .findViewById (R .id .secondLine );
27
29
}
28
30
}
29
31
30
32
public void add (int position , String item ) {
31
- mDataset .add (position , item );
33
+ values .add (position , item );
32
34
notifyItemInserted (position );
33
35
}
34
36
35
- public void remove (String item ) {
36
- int position = mDataset .indexOf (item );
37
- mDataset .remove (position );
37
+ public void remove (int position ) {
38
+ values .remove (position );
38
39
notifyItemRemoved (position );
39
40
}
40
41
41
42
// Provide a suitable constructor (depends on the kind of dataset)
42
43
public MyAdapter (ArrayList <String > myDataset ) {
43
- mDataset = myDataset ;
44
+ values = myDataset ;
44
45
}
45
46
46
47
// Create new views (invoked by the layout manager)
47
48
@ Override
48
49
public MyAdapter .ViewHolder onCreateViewHolder (ViewGroup parent ,
49
50
int viewType ) {
50
51
// create a new view
51
- View v = LayoutInflater .from (parent .getContext ()).inflate (R .layout .rowlayout , parent , false );
52
+ LayoutInflater inflater = LayoutInflater .from (
53
+ parent .getContext ());
54
+ View v =
55
+ inflater .inflate (R .layout .rowlayout , parent , false );
52
56
// set the view's size, margins, paddings and layout parameters
53
57
ViewHolder vh = new ViewHolder (v );
54
58
return vh ;
55
59
}
56
60
57
61
// Replace the contents of a view (invoked by the layout manager)
58
62
@ Override
59
- public void onBindViewHolder (ViewHolder holder , int position ) {
63
+ public void onBindViewHolder (ViewHolder holder , final int position ) {
60
64
// - get element from your dataset at this position
61
65
// - replace the contents of the view with that element
62
- final String name = mDataset .get (position );
63
- holder .txtHeader .setText (mDataset . get ( position ) );
66
+ final String name = values .get (position );
67
+ holder .txtHeader .setText (name );
64
68
holder .txtHeader .setOnClickListener (new OnClickListener () {
65
69
@ Override
66
70
public void onClick (View v ) {
67
- remove (name );
71
+ remove (position );
68
72
}
69
73
});
70
74
71
- holder .txtFooter .setText ("Footer: " + mDataset .get (position ));
72
-
75
+ holder .txtFooter .setText ("Footer: " + name );
73
76
}
74
77
75
78
// Return the size of your dataset (invoked by the layout manager)
76
79
@ Override
77
80
public int getItemCount () {
78
- return mDataset .size ();
81
+ return values .size ();
79
82
}
80
83
81
84
}
0 commit comments