بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال در مورد لیست ویو سفارشی
ایا امکان داره لیست ویویی داشته باشیم که جلوی هر سطر ش دو عدد دکمه قرار داشته باشه؟ دکمه ویرایش و حذف رو میخوام بزارم جلوی هر سطر.ایا میشه اگر میشه چطوری؟
0
0
بله ، در آموزش های ویدئویی قسمت لیست ویو این مورد آموزش داده شده (9 سال پیش)
0
0
خب اگر میشه اینجا توضیح بدید.بنده نمیتونم هزینه رو پرداخت کنم. (9 سال پیش)
0
0
سلام توضیحش زیاده
باید یه کاستوم آداپتر بسازید و لیست ویو رو به اون مرتبط کنید و در نهایت اکثر کارا مثل همین کاری که می خواید بکنید رو باید در همون اداپتر انجام بدین
شاید تو نت سرچ کنید براتون اطلاعاتی بیاد. (9 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Criss
9 سال پیش
+4
0
چندید روش مختلف برای اینکار وجود داره که ساده ترینش این هست که کلاس که دیتا هارو درونش نگه میدارید رو بصورت زیر متد هایی رو بهش اضاف کنید :
روشی که در حال حاضر استفاده میکنید بصورت زیر هست : برای ساخت لیست ویو
for (int i = 0; i < titles.size(); i++) {
StructValues values = new StructValues();
values.event_imgUrl = imgs.get(i);
values.event_desc = descs.get(i);
values.event_title = titles.get(i);
values.event_time = times.get(i);
arrayStructList.add(values);
}
که به شکل زیر تغییر میدیم که کلاس نگهداری مقادیر هم باید به ترتیب زیر تغییر کنه
final ArrayList<ItemData> dataArray = new ArrayList<ItemData>();
for (int i = titles.size() - 1; i >= 0; i--) {
dataArray.add(new ItemData(titles.get(i), urls.get(i), tmbnls.get(i)));
}
میتونید از کلاس زیر استفاده کنید
public class ItemData {
private String title;
private String url;
private String tmbnl;
public ItemData(String pTitle, String pUrl, String pTmbnl) {
title = pTitle;
url = pUrl;
tmbnl = pTmbnl;
}
// getters & setters
public String getTitle() {
return title;
}
public String getUrl() {
return url;
}
public String getTmbnl() {
return tmbnl;
}
public void setTmbnl(String value) {
tmbnl = value;
}
}
حالا میتونید با گذاشتن متده های get و Set مقادیر هم رو هم تغییر بدید <
روش های دیگه میتونه پاس دادن آرایه ها سایر مقادیر به متد زیر باشه که در آداپتر قرار بده و با گرفتن آرایه مقادیر رو تغییر بدید <
public class AdapterEvent extends ArrayAdapter<StructValues> {
ArrayList<StructValues> mArrayStructList ;
public AdapterEvent(ArrayList<StructValues> array, ArrayList<StructValues> pArrayStructList) {
super(G.context, R.layout.adapter_event, array);
mArrayStructList = pArrayStructList;
}
// ...
fill(. . . ) {
mArrayStructList.get(position).YOURVALUE
}
که شما زمان ساخت لیست ویو باید آرایه رو به آداپتر پاس بدید :
adapter = new AdapterEvent(arrayStructList);
listView.setAdapter(adapter ,arrayStructList );
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .