Skip to content

Commit 1415ec8

Browse files
committed
Updated recylerview example
1 parent 670f243 commit 1415ec8

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

com.vogella.android.recyclerview/src/com/vogella/android/recyclerview/MainActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,13 @@ protected void onCreate(Bundle savedInstanceState) {
3131
// RecyclerView.ItemDecoration itemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL_LIST);
3232
// recyclerView.addItemDecoration(itemDecoration);
3333

34-
ArrayList<String> input = new ArrayList<String>();
34+
ArrayList<String> values = new ArrayList<String>();
3535
for (int i = 0; i < 100; i++) {
36-
input.add("Test" + i);
36+
values.add("Test" + i);
3737
}
3838

3939
// specify an adapter (see also next example)
40-
mAdapter = new MyAdapter(input);
40+
mAdapter = new MyAdapter(values);
4141
recyclerView.setAdapter(mAdapter);
42-
mAdapter.remove("Test1");
4342
}
4443
}

com.vogella.android.recyclerview/src/com/vogella/android/recyclerview/MyAdapter.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import android.widget.TextView;
1111

1212
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
13-
private ArrayList<String> mDataset;
13+
private ArrayList<String> values;
1414

1515
// Provide a reference to the views for each data item
1616
// Complex data items may need more than one view per item, and
@@ -19,63 +19,66 @@ public class ViewHolder extends RecyclerView.ViewHolder {
1919
// each data item is just a string in this case
2020
public TextView txtHeader;
2121
public TextView txtFooter;
22+
public View layout;
2223

2324
public ViewHolder(View v) {
2425
super(v);
26+
layout = v;
2527
txtHeader = (TextView) v.findViewById(R.id.firstLine);
2628
txtFooter = (TextView) v.findViewById(R.id.secondLine);
2729
}
2830
}
2931

3032
public void add(int position, String item) {
31-
mDataset.add(position, item);
33+
values.add(position, item);
3234
notifyItemInserted(position);
3335
}
3436

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);
3839
notifyItemRemoved(position);
3940
}
4041

4142
// Provide a suitable constructor (depends on the kind of dataset)
4243
public MyAdapter(ArrayList<String> myDataset) {
43-
mDataset = myDataset;
44+
values = myDataset;
4445
}
4546

4647
// Create new views (invoked by the layout manager)
4748
@Override
4849
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
4950
int viewType) {
5051
// 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);
5256
// set the view's size, margins, paddings and layout parameters
5357
ViewHolder vh = new ViewHolder(v);
5458
return vh;
5559
}
5660

5761
// Replace the contents of a view (invoked by the layout manager)
5862
@Override
59-
public void onBindViewHolder(ViewHolder holder, int position) {
63+
public void onBindViewHolder(ViewHolder holder, final int position) {
6064
// - get element from your dataset at this position
6165
// - 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);
6468
holder.txtHeader.setOnClickListener(new OnClickListener() {
6569
@Override
6670
public void onClick(View v) {
67-
remove(name);
71+
remove(position);
6872
}
6973
});
7074

71-
holder.txtFooter.setText("Footer: " + mDataset.get(position));
72-
75+
holder.txtFooter.setText("Footer: " + name);
7376
}
7477

7578
// Return the size of your dataset (invoked by the layout manager)
7679
@Override
7780
public int getItemCount() {
78-
return mDataset.size();
81+
return values.size();
7982
}
8083

8184
}

0 commit comments

Comments
 (0)