RecyclerView显示除第一项外的所有内容

Sam*_*y T 6 android android-recyclerview

我有一个RecyclerView,其中每个项目都是一个包含两个EditTexts和一个ImageButton的LinearLayout。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();
}
}
Run Code Online (Sandbox Code Playgroud)

这只会显示项目2到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);
Run Code Online (Sandbox Code Playgroud)

Nav*_*T P 6

也许你Toolbar把你的皮革藏起来了RecyclerView

尝试使用此属性

android:layout_marginTop="?attr/actionBarSize"
Run Code Online (Sandbox Code Playgroud)

在您的RecyclerViewxml中。

希望有帮助!


Sam*_*y T 4

app:layout_behavior我的布局文件中缺少一个属性。

如果其他人遇到类似的问题,我会添加app:layout_behavior="@string/appbar_scrolling_view_behavior"到我的内容布局中,以便应用栏将内容推到其下方而不是重叠。