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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
لیست چک باکس، در اندروید

لیست چک باکس، در اندروید

#1
سلام کسی از دوستان میدونه چطوری میتونم برای هر ایتم یه ، چک باکس اضافه کنم ؟البته من فقط نمیدونم چطوری چک باکسی که داخل row هست رو تعریف کنم

کد:
//این قبل از oncreate :
    Activity t;
    String item ={"متن 1","متن2"};
//داخل متد oncreate :

       LayoutInflater vi = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        ListView list=(ListView) findViewById(R.id.listView);
        t=this;

        list.setAdapter(new ArrayAdapter<String>;(this,R.layout.row,R.id.item_row,item));


        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            public void onItemClick(AdapterView<?> arg0, View arg1, int indexItem, long arg3) {
                switch (indexItem) {
                    case 0:
                
                        break;

                    case 1:
                
                        break;
                }
            }

        });

ممنون میشم کمک کنید
پاسخ

لیست چک باکس، در اندروید

#2
سلام.
برای عنصر CheckBox یا هر عنصر دلخواه دیگر که قصد داریم در تمامی item های ListView نمایش داده شوند :
1- فایل XML متناظر با لایه گرافیکی برای هر item (ردیف - row) را باز کنید و تگ مربوط به آن عنصر را در لایه گرافیکی (فایل xml) قرار بدهید.
2- Adapter مربوط به ListView را بیابید. به عنوان مثال، برای کلید شماره 843 ، کدهای Adapter به صورت زیر می باشند :

کد پی‌اچ‌پی:
private class MyAdapter extends ArrayAdapter<String>{

                public 
MyAdapter(Context contextint resourceint textViewResourceId,
                                
String strings) {
                        
super(contextresourcetextViewResourceIdstrings);
                        
// TODO Auto-generated constructor stub
                
}
                
                @
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;
                }
                
                
        } 

سپس کد مشابه کد زیر را بیابید :

کد پی‌اچ‌پی:
LayoutInflater inflater = (LayoutInflatergetSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row inflater.inflate(R.layout.list_itemparentfalse); 

که به ما View مربوط به هر item (ردیف) را می دهد (در اینجا با نام row که نامی دلخواه است).
3- اکنون عنصر مورد نظر را باید با روش findViewById بیابیم، اما قبل از آن، حتما باید View مربوط به هر item را ذکر کنیم :

کد پی‌اچ‌پی:
row.findViewById 

مثل کد زیر :

کد پی‌اچ‌پی:
TextView tv = (TextViewrow.findViewById(R.id.textView1); 

4- پس از شناسایی عنصر، کدهای مورد نظرمان را برای آن می نویسیم. اگر کدها باید بر اساس شماره item باشند (یعنی برای item ها مختلف، متفاوت باشند)، متغیر position به ما شماره متناظر با item را می دهد (البته از صفر شروع می شود) و می توانیم کدها را بر اساس شماره item بنویسیم.

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

لیست چک باکس، در اندروید

#3
ممنون ادمین جان دمت گرم
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


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