2014-10-24 5 views
0

У меня есть 20 edittext, layout и autocompletetextview. Я хочу получить к ним доступ и все с использованием массивов. . Я получаю ошибку прямо на прикреплении их идентификаторов. Где я буду неправильно здесьМножество Editext в массиве

LinearLayout[] laygroup ; 
    EditText[] etquantity,etprice ; 
    AutoCompleteTextView[] etproduct ; 
    int[] laygroupid = new int[]{R.id.laygroup0,R.id.laygroup1,R.id.laygroup2,R.id.laygroup3} ; 
    int[] etquantityid = new int[]{R.id.autoquantity0,R.id.autoquantity1,R.id.autoquantity2,R.id.autoquantity3}; 
    int[] etpriceid = new int[]{R.id.autoprice0,R.id.autoprice1,R.id.autoprice2,R.id.autoprice3} ; 
    int[] productid = new int[] {R.id.autoproduct0,R.id.autoproduct1,R.id.autoproduct2,R.id.autoproduct3}; 

затем в OnCreate

for(int i=0; i<=3; i++) 
    { 
    etprice[i] = (EditText)getActivity().findViewById(etpriceid[i]); 
    etquantity[i] = (EditText)getActivity().findViewById(etquantityid[i]); 
    laygroup[i] = (LinearLayout)getActivity().findViewById(laygroupid[i]) ; 
    etproduct[i] = (AutoCompleteTextView)getActivity().findViewById(productid[i]); 
    } 
+0

нет идентификатора 'etpriceid [я]' – Rustam

+0

это было бы хорошо, если вы можете 'inflate' динамически. – Rustam

+0

, конечно, я вошел в эту опцию после того, как я потерпел неудачу на этом примере. Вы можете показать пример Rustam –

ответ

1

Попробуйте это ..

Вы должны инициализировать массивы размера.

LinearLayout[] laygroup = new LinearLayout[3]; 
    EditText[] etquantity = new EditText[3]; 
    EditText[] etprice = new EditText[3]; 
    AutoCompleteTextView[] = new etproduct EditText[3]; 
+0

Спасибо за это, хотя я узнал, что могу легко получить доступ к идентификаторам вместо того, чтобы определять их в массиве, статически использую динамический способ получения своих идентификаторов –

1

Вы должны объявить щётка размера для этих массивов. Посмотрите, как объявлять массивы с щётками размерами в Java

LinearLayout[] laygroup = new LinearLayout[10]; 
EditText[] etquantity = new EditText[10]; 
EditText[] etprice = new EditText[10]; 
AutoCompleteTextView[] = new etproduct EditText[10]; 
Смежные вопросы