我有20个edittext,layout和autocompletetextview我想使用数组访问它们和所有内容 我在附加他们的ID时收到错误。我在哪里错了
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 :(得分:1)
您需要声明这些数组的初始大小。了解如何在java中声明具有初始大小的数组
LinearLayout[] laygroup = new LinearLayout[10];
EditText[] etquantity = new EditText[10];
EditText[] etprice = new EditText[10];
AutoCompleteTextView[] = new etproduct EditText[10];
答案 1 :(得分:1)
试试这个..
您必须初始化大小数组。
LinearLayout[] laygroup = new LinearLayout[3];
EditText[] etquantity = new EditText[3];
EditText[] etprice = new EditText[3];
AutoCompleteTextView[] = new etproduct EditText[3];