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

غیر فعال نمودن آیتم های لیست ویو پس از کلیک نمودن بر روی یکی از آنها

محمد  10 سال پیش  10 سال پیش
0 0

سلام. فرض کنید یه لیست ویو داریم که 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;
}
}

});

 


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