0

私は次のコードを持っています:

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;

誰か助けてくれませんか?

4

1 に答える 1

0

NPEが発生する可能性のある場所は複数あります。

  • parentLayoutですnull

  • parentLayout.getChildAt(i)ですnull

  • editTextnull

  • editText.getText()無効である。

例外のルート原因を見つけるには、常に完全なスタックトレースを分析する必要があります。

于 2012-10-30T11:01:04.300 に答える