我有以下代码:
1)方法用于从膨胀的EditText中读取值并将其存储在ArrayList中
private List<String> getDynEditText(LinearLayout parentLayout, int resourceId) {
List<String> contactDataList = new ArrayList<String>();
int dataSize = (parentLayout.getChildCount() != 0 ) ? parentLayout.getChildCount() : 0;
for (int i=0; i<dataSize;i++) {
EditText editText = (EditText) parentLayout.getChildAt(i).findViewById(resourceId);
String editString = editText.getText().toString();
if (editString != null && !editString.trim.equals("")) {
contactDataList.add(editString);
}
}
2)我在其他地方调用此方法
mcontactList.addAll(getDynEditText(mPhoneNumberLinearLayout,
R.id.dy_phone_number_edit_text_id));
问题:
java.lang.NullPointerException
at.dyn.edt.contacts.ContactActivityDemo.getDynEditText(....)
如果单击此按钮,则会在
行显示错误 int dataSize = (parentLayout.getChildCount() != 0) ? parentLayout.getChildCount() : 0;
请有人帮帮我吗?
答案 0 :(得分:0)
NPE可以发生多个地方:
parentLayout
为null
。
parentLayout.getChildAt(i)
为null
。
editText
是null
editText.getText()
为空。
您应该始终分析完整的堆栈跟踪以查找异常的根本原因。