View Full Version : تعریف متغییر با استفاده از شمارنده حلقه
reza_azizi2010
چهارشنبه 02 بهمن 1392, 09:41 صبح
سلام
من میخام یکسری کنترل رو که قبلا درست کردم، با استفاده از یک حلقه مقداردهی کنم
اسمهای متغیرها یکی هستن و فقط عدد آخرشون فرق میکنه
for (i = 1; i <= 5; i++) {
ImageView image +i = (ImageView) findViewById(resid);
}
تقریبا همچین چیزی، البته این کد اشتباست و خطا داره.
درستش چطوریه؟
saeidpsl
چهارشنبه 02 بهمن 1392, 09:53 صبح
بفرما
http://stackoverflow.com/questions/8770201/set-an-array-of-imageview-android
http://stackoverflow.com/questions/11581641/adding-an-imageview-array-to-a-relativelayout
http://stackoverflow.com/questions/15112742/how-to-set-an-imageview-array
reza_azizi2010
چهارشنبه 02 بهمن 1392, 10:02 صبح
این یک آرایه از ImageView درست میکنه، راهی نیست که اسم تک تک ImageView ها رو عوض کنم؟
ببینید من ImageView1 تا ImageView10 رو دارم، و میخام اینهارو مقداردهی کنم، میخام با استفاده از حلقه اینکارو بکنم
reza_azizi2010
چهارشنبه 02 بهمن 1392, 10:11 صبح
خب مثل ID هاشون یه آرایه رشته ای درست کنید
چطور میشه محتویات یک خونه از آرایه ی متنی رو بعنوان اسم یک متغییر دیگه استفاده کنم؟
#root#
چهارشنبه 02 بهمن 1392, 10:14 صبح
چطور میشه محتویات یک خونه از آرایه ی متنی رو بعنوان اسم یک متغییر دیگه استفاده کنم؟
من اشتباهی گفتم ، نباید عجله میکردم ، اصلا رشته چه ربطی مثلا به متغیر از نوع TextView داره :افسرده: عذر میخوام
reza_azizi2010
چهارشنبه 02 بهمن 1392, 13:17 عصر
ذکات علم در نشر آن است! بعله!
rubiks.kde
چهارشنبه 02 بهمن 1392, 21:19 عصر
به این صورت نمیشه کار کرد چون resid یک عدد هست .
شما یک آرایه درست کن و تمام view ها رو توش قرار بده بعد توی for پیاده سازی کنید تک تک view ها رو.
reza_azizi2010
پنج شنبه 03 بهمن 1392, 00:06 صبح
به این صورت نمیشه کار کرد چون resid یک عدد هست .
شما یک آرایه درست کن و تمام view ها رو توش قرار بده بعد توی for پیاده سازی کنید تک تک view ها رو.
من میخام در زمان اجرا یکسری ویو ایجاد کنم، واسه همین تعدادش مشخص نیست
باید چیکار کنم؟
rubiks.kde
پنج شنبه 03 بهمن 1392, 00:22 صبح
تمام کارهایی که از xml میکنید رو از طریق کد هم میشه.
یه LinearLayout داشته باشید که view ها رو به اون اضافه کنید.(البته بجای LinearLayout میتونید از بقیه هم استفاده کنید.)
LinearLayout lnr = (LinearLayout) findViewById(R.id.LinearLayout01);
Button b1 = new Button(this);
b1.setText("Btn");
lnr.addView(b1);
reza_azizi2010
پنج شنبه 03 بهمن 1392, 11:21 صبح
مرسی
میشه درمورد تغییر مشخصه های ویو هم توضیح بدین
منظورم اینه وقتی به این روش یه ویو تولید میشه چطوری میتونیم تنظیماتش رو تغییر بدیم؟ مثلا margin
rubiks.kde
پنج شنبه 03 بهمن 1392, 11:44 صبح
تمام این کارها با LayoutParams قابل انجام است.
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParam s.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
imageView.setLayoutParams(lp);
reza_azizi2010
پنج شنبه 03 بهمن 1392, 13:49 عصر
ممنون
با استفاده زا getIdentifier میشه id یک منبع که توی پوشه assets قرار داره رو بدست آورد؟
int resid = G.contect.getResources().getIdentifier(resuorcname , "drawable", G.contect.getPackageName());
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.