انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استقاده از چند دکمه (Button) در لیست ویو (ListView) (برنامه نویسی اندروید)

استقاده از چند دکمه (Button) در لیست ویو (ListView) (برنامه نویسی اندروید)

#2
سلام.
ابتدا باید فایل xml مربوط به تعریف ساختار گرافیکی ردیف ها (rows - items) را باز کنید و سه تگ Button به آن اضافه نمایید. در مبحثی که ذکر کردید، نام فایل xml برابر list_item.xml می باشد.
خوب حالا باید کدهای مورد نظرمان برای Button ها را تعیین کنیم (که با اشاره بر روی Button ها باید اجرا شوند).
برای این مورد، باید به سراغ کدهای روش getView برویم (که در Adapter مربوط به ListView نوشته شده). مثلا کد روش getView در مبحثی که ذکر کردیم را در اینجا نمایش می دهیم :

کد پی‌اچ‌پی:
@Override
public View getView(int positionView convertViewViewGroup parent) {
 
       LayoutInflater inflater = (LayoutInflatergetSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
       View row inflater.inflate(R.layout.list_itemparentfalse);
 
       
        String stringName 
"string_key_" String.valueOf(position+1); 
 
       int string_res_ID getResources().getIdentifier(stringName,"string",getPackageName());
 
       String my_string getResources().getString(string_res_ID);
 
       TextView tv = (TextViewrow.findViewById(R.id.textView1);
 
       tv.setText(my_string);
 
       
        String imageName 
"key_" String.valueOf(position+1); 
 
       int image_res_ID getResources().getIdentifier(imageName,"drawable",getPackageName());
 
       ImageView iv = (ImageViewrow.findViewById(R.id.imageView1);
 
       iv.setImageResource(image_res_ID);

 
       return row;


به چگونگی شناسایی عناصر موجود در فایل list_item.xml (که ساختار گرافیکی ردیف ها را تعیین می کند) توجه کنید. مشابه آنها، باید 3 دکمه (Button) را شناسایی کنید.
سپس می توانید به همان روش معمولی، کدهایی را برای Button ها در نظر بگیرید (که با اشاره روی Button ، اجرا شوند) :

کلید شماره 2728

تا این مرحله، ساختار کدنویسی برای شناسایی عناصر در ردیف ها و تعیین کدهایی مربوط به آنها را شرح دادیم. اما شما قصد دارید که در هر ردیف، نام Activity هایی که به آنها می رویم، متفاوت باشد. بنابراین شما می توانید کدها را بر اساس شماره ردیف ها، به صورت شرطی بنویسید (با if و else و ...). یا یک روش دیگر، استفاده از کد کلیو سپس تغییر مقادیر بر اساس مقادیر ذخیره شده در Array یا ArrayList می باشد. این دو روش را در ادامه توضیح می دهیم :
شماره ردیف از ListView در روش getView ، با نام position مشخص شده است. بنابراین شما به این صورت کد می نویسید که اگر position برابر 0 بود، نام Activity برابر مثلا MyActivity_1 باشد، اگر position  برابر 1 بود، نام Activity برابر MyActivity_2 و ... (شیوه کدنویسی به سلیقه شما بستگی دارد، اما روش کلی به همین صورت شرطی نوشتن بر اساس position می باشد) .
همچنین می توان مقادیر مربوط به عناصر را در یک Array یا ArrayList نوشت و سپس عنصر برابر شماره position از آنها را خواند، در این حالت، یک کد کلی می نویسیم و نیازی به if و else هم نمی باشد. یعنی مثلا نام Activity ها را در یک Array می نویسیم و سپس بر اساس position ، نام از Array فراخوانی می شود و کد کلی بر اساس مقدار فراخوانی شده اجرا می شود.
اینکه کدام روش را انتخاب نمایید، بستگی به تعداد ردیف ها و سلیقه شما در کدنویسی دارد.

در ضمن، کد مربوط به رفتن به Activity جدید، هم با روش معمولی و هم بر اساس نام Activity (وقتی نام آن را به صورت String داریم) در دو کلید زیر ذکر شده است :

کلید شماره 2727

کلید شماره 252

Flower
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط BahmanSE ، aleas


پیام‌های این موضوع
RE: استقاده از چند دکمه در لیست ویو - توسط admin - ۱۳۹۵/۰۵/۱۴, ۰۱:۱۱ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان