آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کاستومایز کردن لیست ویو ، استفاده از دو Layout

Vampire  11 سال پیش  11 سال پیش
0 0

من یک لیست ویو دارم و برای هر آیتم لیست ویو میخوام یک ویژگی True or False بزارم

و مثلا اگر true بود ، از یک layout به لیست اضافه کنه و اگر false بود layout دوم رو به لیست ویو اضافه کنه . (xml منظورمه)

یک راهنمایی می کنید لطفا؟

:: ادیت ::

میخوام در هر آیتم لیست ویو، از دو ظاهر متفاوت استفاده کنم و هر وقت که خواستم از آیتم اول و هر وقت نیاز شد از آیتم دوم اضافه کنم ،

این دو آیتم متفاوت لیست، فقط از نظر ظاهر فرق دارن و از نظر تعداد المان ها و ID هر المان و تعداد شون فرقی ندارند .

تشکر.

0 0
دقیقتر میتونید توضیح بدین؟ شما میخواین ظاهر آیتم های لیست ویو با همدیگه تفاوت داشته باشه یا اینکه توی شرایط مختلف بتونین layout لیستتون رو تغییر بدین؟ منظورتون از اظافه کردن layout به آیتم چیه؟ (11 سال پیش)
0 0
به سوال اضافه کردم عزیز. (11 سال پیش)
0 0
(11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Criss  11 سال پیش
+1 0

دستورتون رو کلاس adapter قرار بدید یکبار در متد AdapterNote و یکبار در متد   getView  و مقدار R.layout.adapter_notes رو به دلخواه ست کنید

   public AdapterNote(ArrayList<StructNote> array) {
if(true){
super(G.context, R.layout.adapter_notes, array);
} else {
super(G.context, R.layout.adapter_2, array);
}

}

متد دوم :

  public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StructNote item = getItem(position);
if (convertView == null) {
if(true){
convertView = G.inflater.inflate(R.layout.adapter_notes, parent, false);
} else {
convertView = G.inflater.inflate(R.layout.adapter_2, parent, false);
}
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;

}

 التبه بهتر هست که این کار رو نکنید و یک کلاس اداپتر جداگانه همراه با یک xml جدا گانه داشته باشید ، و روی لیست ویو خودتون ست اداپتر کنید <

این روش بالا کل لیست ویو رو تغییر میده < ولی اگر شما میخواید که آیتم های لیست ویو < یک در میان متفاوت باشند بهتره از همون اول یکسری از عناصر روی xml رو gone کنید و بعدا با شرایط خودتون VISIBLE کنید < فقط ممکنه نیاز داشته باشید از relativelayout استفاده کنید


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .