Ich habe eine RecyclerView, wo jedes Element ein LinearLayout ist, das zwei EditTexts und ein ImageButton enthält. Die RecyclerView zeigt alle Elemente außer dem ersten meines Datensatzes.RecyclerView zeigt alles außer dem ersten Element
Kann mir jemand sagen, was los ist?
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);
}
}
// Provide a suitable constructor (depends on the kind of dataset)
public EditListAdapter(ArrayList aList) {
mListCardset = aList;
}
// Create new views (invoked by the layout manager)
@Override
public EditListAdapter.ListViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_edit_item, parent, false);
// set the view's size, margins, paddings and layout parameters
ListViewHolder vh = new ListViewHolder((LinearLayout)v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ListViewHolder listHolder, int pos) {
String[] eListItem = (String[]) mListCardset.get(pos); //get individual card @position
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;
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return mListCardset.size();
}
}
Dies wird nur Artikel 2 bis 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"));
// use a linear layout manager
mLayoutManager = new LinearLayoutManager(EditActivity.this);
mRecyclerView.setLayoutManager(mLayoutManager);
// specify an adapter
mAdapter = new EditListAdapter(testListCards);
mRecyclerView.setAdapter(mAdapter);
Sind Sie sicher, dass der obere Teil Ihres 'RecyclerView' nicht nur von einem anderen' View' verdeckt wird? –
Ich konnte keinen signifikanten Fehler finden. Etwas anderes fehlt –
Wow, es war unter meiner Appbar versteckt. Ich habe buchstäblich alles außer dem überprüft. Danke, @MikeM. –