I have a RecyclerView where each element is a LinearLayout containing two EditTexts and ImageButton. RecyclerView shows every item except the first of my dataset.
Can someone tell me what is going on?
public class EditListAdapter extends RecyclerView.Adapter<EditListAdapter.ListViewHolder> {
private ArrayList mListCardset;
public static class ListViewHolder extends RecyclerView.ViewHolder{
public EditText frontEditText;
public EditText backEditText;
public ImageButton editActionButton;
public ListViewHolder(View view) {
super(view);
frontEditText = (EditText)view.findViewById(R.id.front_edit_text);
backEditText = (EditText)view.findViewById(R.id.back_edit_text);
editActionButton = (ImageButton) view.findViewById(R.id.edit_action_button);
}
}
public EditListAdapter(ArrayList aList) {
mListCardset = aList;
}
@Override
public EditListAdapter.ListViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_edit_item, parent, false);
ListViewHolder vh = new ListViewHolder((LinearLayout)v);
return vh;
}
@Override
public void onBindViewHolder(ListViewHolder listHolder, int pos) {
String[] eListItem = (String[]) mListCardset.get(pos);
listHolder.frontEditText.setText(eListItem[0]);
listHolder.backEditText.setText(eListItem[1]);
}
private String[] strArrayListHelper(String frontString, String backString){
String[] returnStrings = new String[2];
returnStrings[0] = frontString;
returnStrings[1] = backString;
return returnStrings;
}
@Override
public int getItemCount() {
return mListCardset.size();
}
}
This only displays items 2 through 5:
mRecyclerView = (RecyclerView)findViewById(R.id.list_edit_recycler_view);
ArrayList testListCards = new ArrayList<String[]>();
testListCards.add(strArrayListHelper("Test 1","Test 1"));
testListCards.add(strArrayListHelper("Test 2","Test 2"));
testListCards.add(strArrayListHelper("Test 3","Test 3"));
testListCards.add(strArrayListHelper("Test 4","Test 4"));
testListCards.add(strArrayListHelper("Test 5","Test 5"));
mLayoutManager = new LinearLayoutManager(EditActivity.this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new EditListAdapter(testListCards);
mRecyclerView.setAdapter(mAdapter);
source
share