بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
چگونه می توانیم در یک ریسایکلر ویو , ریسایکلرویو دیگری قرار دهیم؟
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
YouNes Sh
9 سال پیش
+1
0
کافیه توی xml یه recyclerview بزاری و اونو همونطوری که recyclerview اولی رو مقدار دادی مقدار بدی
پاسخ به سوال
YouNes Sh
9 سال پیش
0
0
یه مدل بساز
public class SampleModel {
String subject;
List<String> listDovom;
public sampleModel(String subject, List<String> listDovom) {
this.subject = subject;
this.listDovom = listDovom;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public List<String> getListDovom() {
return listDovom;
}
public void setListDovom(List<String> listDovom) {
this.listDovom = listDovom;
}
}
بعد به recyclerview اولی اینجوری مقدار بده
RecyclerView recyclerView1 = (RecyclerView) findViewById(R.id.recyclerView1);
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView1.setLayoutManager(manager);
List<SampleModel> sampleModels = new ArrayList<>();
List<String> listDovom=new ArrayList<>();
listDovom.add("یک");
listDovom.add("دو");
sampleModels.add(new SampleModel("موضوع اول",listDovom));
sampleModels.add(new SampleModel("موضوع دوم",listDovom));
recyclerView1.setAdapter(new AdapterSample1(getApplicationContext(),samleModel));
بعد توی Adapter لیست اول. لیست دوم رو مقدار دهی کن :
public class AdapterList extends RecyclerView.Adapter<AdapterList.MyViewHolder> {
private Context mContext;
private List<SampleModel> sampleModels;
class MyViewHolder extends RecyclerView.ViewHolder {
TextView txtSubject;
RecyclerView recyclerView2;
MyViewHolder(View view) {
super(view);
txtSubject = (TextView) view.findViewById(R.id.txtSubject);
recyclerView2 = (RecyclerView) view.findViewById(R.id.recyclerView2);
}
}
public AdapterList(Context mContext, List<SampleModel> sampleModels) {
this.mContext = mContext;
this.sampleModels = sampleModels;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row_list, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
final SampleModels item = sampleModels.get(position);
txtSubject.setText(item.getSubject());
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
holder.recyclerView2.setLayoutManager(manager);
holder.recyclerView2.setAdapter(new AdapterSample2(mContext,item.getlistDovom()));
}
}
برای لیست دوم هم باید یه Adapter بسازی
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
