PDA

View Full Version : دریافت مقدار چندین رادیو باتن با هم



hamed9090
یک شنبه 03 تیر 1397, 16:06 عصر
با سلام دوتان من تو برنامم یه سری اطلاعات از سرور میگیرم و چندتا رادیو گروپ دارم ک تو هر کدوم چندین رادیو باتن وجود دارد.
اینها رو به صورت داینامیک و ران تایم میسازم و براشو tag میزارم.

حالا یه دکمه دارم که میخوا وقتی زدم یه حلقه باشه که کل کامپوننتهای روی فرمم که رادیو باتن هست و تگشون هم تنظیم شده مقدارشون رو بگیرم.ممنون میشم راهنماییم کنید

Nevercom
یک شنبه 03 تیر 1397, 20:34 عصر
در حالت کلی، کلاس ViewGroup دوتا متد داره که به دردتون می‌خوره

getChildCount: تعداد Viewهایی که در این ViewGroup قرار داره رو بر‌میگردونه.
getChildAt: که اندیس می‌گیره و Viewی موجود در اون اندیس رو بر‌میگردونه.


با این دو متد می‌تونید حلقه‌ای بنویسید که تمام Viewهای موجود در یک viewGroup رو برگردونه. مثلن فرض کنیم داخل یه RelativeLayout تمام این RadioButtonها رو اضافه کردید، کافیه با findViewById به اون RelativeLayout دسترسی پیدا کنید، به کلاس ViewGroup کست (Cast)ش کنید، با متد اول تعداد فرزندهاش رو پیدا کنید، به اون تعداد یه حلقه بنویسید و داخل حلقه با متد دوم اون View رو بدست بیارید. حالا با این View هرکار می‌خواید بکنید.
می‌تونید یه شرط بزارید که اگه Viewاز جنس RadioButton بود اون کارها رو بکن


if(view instanceof RadioButton){
// do something
}


در این حالت خاص که RadioButtonها رو بصورت داینامیک می‌سازید، خیلی کارتون راحت تره. کافیه یه ArrayList بسازید و هر radioButton رو پس از ساخت و اعمال تغییرات در اون آرایه ذخیره کنید. حالا هروقت لازم شد به همه‌ی RadioButtonهایی که ساختید دسترسی دارید.

hamed9090
یک شنبه 03 تیر 1397, 23:25 عصر
ممنون درست شد واقعا وجود افرادی مثل شما مفید هست و یه بار آموزشی خوبی داره..:قلب: