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

ساخت یک TabHost با استفاده از کنترل های ساده

h_uk2009  12 سال پیش  12 سال پیش
0 0

سلام استاد من 6 تا تب درست کردم که روی هرکدوم که کلیک میشه اسکرول اون که داخل یک آرایه ای از اسکرول هاست show میشه ..توی هر اسکرولی تعدادی دکمه از جنس تکست ویو هست حالا میخوام داینامیک دکمه هام رو براش لیستنر کلیک بزارم. .. میخوام بندازم تعداد فرزندان اسکرولم رو داخل یک لوپ و آی دی هاش رو که همه تکست ویو هستن رو با متغیر i بخونم و داخل یک آرایه ای از تکست ویو ها بریزم و بعد هم با توجه به متن هر تکست ویو وقتی کلیک میشه میخوام مقدار تکست ویو رو به اکتیویتی بعدی بفرستم که اون مساله ای نداره و بلدم ولی مشکل اصلی جایی که میخوام بنویسم R.id.tx+i که بتونم داینامیک به تعداد تکست ویو ها بخونم و بریزم تو آرایه که مثل اینکه به دلیل ناهمخانی متغیر که ازنوع int هست نمیشه با یک چیزی جمعش کرد .. کد های getChidcount و Getchildat رو هم خیلی باهاش ور رفتم ولی سر در نیاوردم یعنی درست نشون نمیده تعداد بچه های اسکرولم رو ... باید چکار کنم لطفا یک راه اصولی و داینامیک ارایه بدید باز خودم مثل دفعه قبل میرم ته توشو در میارم ... مرصی اینم نمونه کدم .

public class pflash extends ActivityCheck {

private ImageView tabbt[] = new ImageView[6];
private OnClickListener imageClickListener;
private ImageView imageview;
private ScrollView sc[] = new ScrollView[6];
private Intent intent;
private TextView sc1bt[] = new TextView[50];


@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pflash);

tabbt[0] = (ImageView) findViewById(R.id.tb1);
tabbt[1] = (ImageView) findViewById(R.id.tb2);
tabbt[2] = (ImageView) findViewById(R.id.tb3);
tabbt[3] = (ImageView) findViewById(R.id.tb4);
tabbt[4] = (ImageView) findViewById(R.id.tb5);
tabbt[5] = (ImageView) findViewById(R.id.tb6);

sc[0] = (ScrollView) findViewById(R.id.fasl1_sc);
sc[1] = (ScrollView) findViewById(R.id.fasl2_sc);
sc[2] = (ScrollView) findViewById(R.id.fasl3_sc);
sc[3] = (ScrollView) findViewById(R.id.fasl4_sc);
sc[4] = (ScrollView) findViewById(R.id.fasl5_sc);
sc[5] = (ScrollView) findViewById(R.id.fasl6_sc);

for (int i = 0; i < 23; i++)
{
int id = Integer.parseInt(" R.id.tx1") + i;
sc1bt[i] = (TextView) sc[1].findViewById(id);
Log.i(G.LOG_TAG, "hi : " + sc1bt[i].getText());
}
}
}



 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
+2 0

جواب شما به سادگی قابل ارائه است. از متد getIdentifier استفاده کنید. :) مثل زیر:


int resId = G.context.getResources().getIdentifier("fasl" + i + "_sc", "id", G.context.getPackageName());

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