Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android añadiendo pie de página a ListView addFooterView ()?

Tengo una actividad ListView que necesita un pie de página a la lista de elementos para que pueda hacer clic en él y que cargaría más elementos en la lista. La lista se respalda mi un SimpleAdapter respaldado por un mapa de cadenas y antes de que el adaptador está configurado hago esto inorder para agregar el pie de página:

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

Pero Im que consigue esta excepción en el depurador

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

¿Cuál es incorrecto y cómo iría sobre agregar mi pie de página a la lista?

[EDITAR] la actividad está usando 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" /> 

  • Debe utilizar "sp" en lugar de "dp" para los tamaños de texto
  • Combinando wrap_content en el padre y fill_parent en el niño
  • ¿Cómo puedo descompilar archivos dex de forma programática dentro de Android?
  • "El contenido tiene vista con el atributo id 'android.r.id.list' que no es una clase ListView." Cuando se crea una vista de lista en un fragmento
  • Androide: pregunta LinearLayout y fill_parent simple
  • Cómo analizar XML utilizando el analizador SAX
  • Problemas con la carga de anuncios de AdMob en la aplicación
  • Android Studio - Importación de la biblioteca Simple-Xml
  • 3 Solutions collect form web for “Android añadiendo pie de página a ListView addFooterView ()?”

    Alrighty Iv encontró una solución a mi problema si hago esto funciona como se pretende:

     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)); 

    Supongo que desde que puse null en el inflater como el parámetro padre, la vista no se ha agregado a la vista de contenido actual y por lo que mainActivity es incapaz de encontrarlo y ahora ya que explícitamente estoy usando la vista padre que es devuelto por El inflador para encontrar el TextView que está trabajando.

    Como ognian declaró en su comentario anterior, loadMore probablemente no se encuentra.

    Puede ver si este es el problema cambiando su código a algo como esto:

     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"); } 

    Sin ver más de su código, es difícil decir cuál es la causa real.

     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); 

    No tengo ninguna idea que cuando agrego mSearchMoreBtn a ListView como footerView , es incorrecto, en lugar de otro, cuando agrego footerView a ListView , él apenas multa

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.