私はRecyclerViewを持っています。各項目は2つのEditTextとImageButtonを含むLinearLayoutです。 RecyclerViewは、自分のデータセットの最初のものを除くすべてのアイテムを表示しています。RecyclerViewは最初の項目を除くすべてを表示します
何が起こっているか教えていただけますか?
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();
}
}
これはわずか5を通じてアイテム2を表示します:
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);
あなたの 'RecyclerView'のトップは別の' View'によって隠されているだけではありませんか? –
重大なエラーが見つかりませんでした。他に何かがありません –
うわー、それは私のappbarの下に押し込まれました。私は文字通りそれ以外のすべてをチェックしました。ありがとう、@MikeM。 –