在充气布局中抛出空指针异常

时间:2012-10-30 10:54:36

标签: android-layout

我有以下代码:

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;

请有人帮帮我吗?

1 个答案:

答案 0 :(得分:0)

NPE可以发生多个地方:

  • parentLayoutnull

  • parentLayout.getChildAt(i)null

  • editTextnull

  • editText.getText()为空。

您应该始终分析完整的堆栈跟踪以查找异常的根本原因。