Android добавляет нижний колонтитул в ListView addFooterView ()?

У меня есть активность ListView, которая нуждается в нижнем колонтитуле для списка элементов, чтобы вы могли щелкнуть по нему, и он будет загружать больше элементов в список. Список поддерживает мой SimpleAdapter, поддерживаемый картой строк, и до того, как адаптер установлен, я делаю это для добавления нижнего колонтитула:

mInflater.inflate(R.layout.list_load_more_row, null); TextView footer = (TextView) findViewById(R.id.loadMore); getListView().addFooterView(footer); setListAdapter(ListViewHelper.getAdapterForContentList(mContent, this)); 

Но я получаю это исключение в отладчике

Java.lang.NullPointerException android.widget.ListView.clearRecycledState (ListView.java:489) android.widget.ListView.resetList (ListView.java:476) android.widget.ListView.setAdapter (ListView.java:417)

Что случилось, и как я могу добавить свой нижний колонтитул в список?

[EDIT] активность использует list_load_more_row.xml:

  <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/loadMore" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="17sp" android:textStyle="bold" android:textColor="#000000" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:gravity="center_horizontal|center_vertical" android:text="@string/hello" /> 

Solutions Collecting From Web of "Android добавляет нижний колонтитул в ListView addFooterView ()?"

Alrighty Iv нашел решение моей проблемы, если я это сделаю, он работает по назначению:

 View view = mInflater.inflate(R.layout.list_load_more_row, null); TextView footer = (TextView) view.findViewById(R.id.loadMore); getListView().addFooterView(footer); setListAdapter(ListViewHelper.getAdapterForContentList(mContent, this)); 

Я предполагаю, что, поскольку я поместил null в инфляторе в качестве родительского параметра, представление не было добавлено в текущее представление контента, и поэтому mainActivity не может его найти и теперь, поскольку я явно использую родительское представление, которое возвращается Надуватель, чтобы найти TextView, он работает.

Как указано в его комментарии выше, loadMore, вероятно, не найден.

Вы можете увидеть, если это проблема, изменив код на что-то вроде этого:

 TextView footer = (TextView) findViewById(R.id.loadMore); if ( footer != null ) { getListView().addFooterView(footer); setListAdapter(ListViewHelper.getAdapterForContentList(mContent, this)); } else { throw new NullPointerException("footer is null"); } 

Не видя больше своего кода, трудно сказать, какова фактическая причина.

 View footerView = getLayoutInflater().inflate(R.layout.search_footer, mContentList, false); LongButton mSearchMoreBtn = (LongButton) footerView .findViewById(R.id.searchmore_btn); mSearchMoreBtn.setText(R.string.search_moreapp);//the button to add mSearchMoreBtn.setBackgroundResource(R.drawable.btn_long_selector); mSearchMoreBtn.setOnClickListener(mSearchMoreBtnListener); footerView.setOnClickListener(mLoadMoreAppsListener); mContentList.addFooterView(footerView); 

Я понятия не имею, что когда я добавляю mSearchMoreBtn в ListView как footerView , это неправильно, вместо этого, когда я добавляю footerView в ListView , он просто отлично