0

我的 Android 应用程序中有一个日历,它实现了 MultiAutoCompleteTextView:

MultiAutoCompleteTextView mAttendeesList;

...

mAttendeesListView = (LinearLayout) view.findViewById(R.id.scheduling_attendee_list);

查看类的来源(如有必要): http: //pastebin.com/rneiF4d1

问题是 - 当尝试在另一个类中为其创建侦听器时,当侦听器实现时,它会不断返回 null,如下所示:

private void initChangeListeners() {
    clearChangeListeners();

    if (mViewListener == null) {
      mViewListener = new RecipientTextWatcher(mView, mViewListener);
    }
 //TO FIX  (equals null) 
    mAttendeesList.addTextChangedListener(mViewListener);

}

活动来源(如有必要): http: //pastebin.com/iAgSpjFd

最终结果是:

01-28 03:15:54.556: E/AndroidRuntime(2730): FATAL EXCEPTION: main
01-28 03:15:54.556: E/AndroidRuntime(2730): Caused by: java.lang.NullPointerException
01-28 03:15:54.556: E/AndroidRuntime(2730):     at com.android.calendar.event.EditEventActivity.initChangeListeners(EditEventActivity.java:178)

其中(仅供参考)是 mAtteneesList 在这里返回 null:

mAttendeesList.addTextChangedListener(mViewListener);
4

1 回答 1

0

制作EditEventViewClass 的对象并制作mAttendeeListview public,然后像这样访问它 -

EditEventView editEventViewObject = new EditEventView(pass all the parameters which you have declared in its constructor);
editEventViewObject.mAttendeeList.addTextChangedListener(mViewListener);

这肯定会有所帮助。

于 2015-01-28T03:59:35.643 回答