코드를 복사하여 붙여 넣거나 읽지 말고 이해하려고 시도하십시오.
다른 레이아웃에 대해 다른 viewHolder 클래스를 만들고 onCreateVIewHolder에 다른보기를 첨부해야합니다.
이
private Activity currActivity;
private Context currContext;
private List<CommonCategory> itemList;
public HomeFeedRecyclerAdapter(Activity currActivity, Context currContext, ArrayList<CommonCategory> itemList) {
this.itemList = itemList;
this.currActivity = currActivity;
this.currContext = currContext;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
RecyclerView.ViewHolder viewHolder;
switch (viewType) {
case TYPE_ONE: {
view = getLayoutView(parent, R.layout.list_one);
viewHolder = new EditTextViewHolders(view, currActivity);
break;
}
case TYPE_TWO: {
view = getLayoutView(parent, R.layout.list_two);
viewHolder = new TextViewHolders(view, currActivity, getItem(viewType));
break;
}
default: {
viewHolder = null;
}
}
return viewHolder;
}
그리고 (이 경우 EditTextViewHolders 및 TextViewHolders에서) 두 개의 서로 다른 viewHolder 클래스를 생성하고 거기 뷰를 정의 예를 들면 다음과 같습니다. 각 레이아웃에 특정 ID를 부여하면 쉽게 활용할 수 있습니다.
이 데이터는 동적입니까? 나는 그들이 서버에서오고 변화 할 것 인가요? 또는 당신은 그것을 하드 코딩입니까? –
항목 수는 이름 나이와 같은 키 ...로 유지됩니다. 몸체는 동일하게 유지 될 것입니다 ... 값은 서버에서 올 것입니다 – user7327850
그래서 가장 적합한 승인자는 recyclerView를 사용할 것입니다. 다른 아이템 레이아웃을 디자인하고 스위치 케이스를 적용하는 것은 어댑터 클래스입니다. 나는 답례를해야합니까? –