بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
غیر فعال نمودن آیتم های لیست ویو پس از کلیک نمودن بر روی یکی از آنها
سلام. فرض کنید یه لیست ویو داریم که 3 تا آیتم رو نشون میده. میخوام وقتی روی یکی از اون آیتمها کلیک کردم بقیه آیتمها غیر فعال بشن و نشه روشون کلیک کرد.
با تشکر فراوان
+1
0
فکرکنم بشه با onitemSetChangeListener کاری انجام داد ! (10 سال پیش)
0
0
از دوستان کسی واسه این مشکل راه حلی نداره؟! (10 سال پیش)
+1
0
باید در کلاس StructItem تون یک flag بزارید وقتی یک آیتم روش کلیک میشه flagش true میشه و بقیه false میشه و موقع کلیک این flag رو هربار چک میکنید. (10 سال پیش)
0
0
ممنون javac عزیز. داخل متد fill فقط به آیتمی که روش کلیک میکنم دسترسی دارم و نمیتونم آیتمهای دیگه رو تغییر بدم، چجوری flag بقیه آیتمها رو تغییر بدم؟ توی stackoveflow پیشنهاد کردن که از متد areAllItemsEnabled و متد isEnabled استفاده کنیم ولی متاسفانه نتونستم بفهمم این 2 تا متد چجوری کار میکنن. (10 سال پیش)
+1
0
آرایه تون رو از طریق کانستراکتور CustomAdapter دریافت کنید و اونجا تغییرات رو اعمال کنید (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
محمد
10 سال پیش
0
0
خیلی ممنون javac عزیز. حل شد.
داخل StructUser:
public Boolean canClick= true;
داخل ادبتر:
static ArrayList<StructUser> araye =new ArrayList<StructUser>();
داخل کانستراکتور:
public AdapterGroupElements(ArrayList<StructUser> array) {
super(G.context, R.layout.adapter_group_elements, array);
araye = array;
}
داخل متد fill:
layoutRoot.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!item.canClick) {
return;
}
for (int i = 0; i < araye.size(); i++) {
araye.get(i).canClick = false;
}
// do what you want
final Intent intent = new Intent(G.currentActivity, ActivitySelectedStudent.class);
G.currentActivity.startActivity(intent);
for (int i = 0; i < araye.size(); i++) {
araye.get(i).canClick = true;
}
}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .