天天看點

android多了一個布局,android-具有多個布局的RecyclerView

我正在使用RecyclerView在CardView中顯示文本,但我想在RecyclerView的頂部添加一個Header TextView,如下所示:

是以,我僅使用TextView制作了另一個布局檔案“ top_header.xml”,但是我不确定如何修改擴充卡以在其中獲得兩個布局.

public class Adapter extends RecyclerView.Adapter {

List mItems;

public Adapter() {

super();

mItems = new ArrayList();

AdapterData data = new AdapterData();

data.setCode("dummytext");

data.setResult("dummytext");

mItems.add(data);

data = new AdapterData();

data.setCode("dummytext");

data.setResult("dummytext");

mItems.add(data);

data = new AdapterData();

data.setCode("dummytext");

data.setResult("dummytext");

mItems.add(data);

data = new AdapterData();

data.setCode("dummytext");

data.setResult("dummytext");

mItems.add(data);

data = new AdapterData();

data.setCode("dummytext");

data.setResult("dummytext");

mItems.add(data);

}

@Override

public int getItemViewType(int position) {

int viewType = 0;

return viewType;

}

@Override

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

if (viewType == 0) {

return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.top_textview, parent, false));

}

return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_card_item, parent, false));

}

@Override

public void onBindViewHolder(ViewHolder viewHolder, int position) {

AdapterData data = mItems.get(position);

viewHolder.code.setText(data.getCode());

viewHolder.result.setText(data.getResult());

}

@Override

public int getItemCount() {

return mItems.size();

}

class ViewHolder1 extends RecyclerView.ViewHolder{

public TextView header;

public ViewHolder1(View itemView) {

super(itemView);

header = (TextView)itemView.findViewById(R.id.header_textview);

}

}

class ViewHolder2 extends RecyclerView.ViewHolder{

public TextView code;

public TextView result;

public ViewHolder2(View itemView) {

super(itemView);

code = (TextView)itemView.findViewById(R.id.sims_code);

result = (TextView)itemView.findViewById(R.id.sims_result);

}

}

}