کلیدستان

نسخه‌ی کامل: لیست چک باکس، در اندروید
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام کسی از دوستان میدونه چطوری میتونم برای هر ایتم یه ، چک باکس اضافه کنم ؟البته من فقط نمیدونم چطوری چک باکسی که داخل 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;
                }
            }

        });

ممنون میشم کمک کنید
سلام.
برای عنصر 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 بنویسیم.

ممنون ادمین جان دمت گرم