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
- WYSIWYG View Editor en 'Android'?
- Mensaje de error XML de Android
- Logo de ActionBar mover hacia la izquierda
- cómo crear un xml utilizando xmlserializer en la aplicación android
- Android maps: No se pudo encontrar el estilo 'mapViewStyle' en el tema actual
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" />
- ¿Cómo acceder a <item> desde un recurso <string-array> en un XML android?
- ¿Cómo puedo hacer que mi botón se parezca más al botón de acción flotante de Android JellyBean (v21)?
- Añadiendo el hilador a ActionBar (no Navegación
- Cifrar y descifrar xml
- Cambio de Android Color de sombra de elevación de material
- Esquinas redondeadas redondeadas de Android XML con etiqueta de mapa de bits
- Cómo conservar los nodos XML que no están enlazados a un objeto cuando se utiliza SAX para analizar
- Cambiar la transición de navegación igual que Volver o Cerrar
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
- Android: No se pudo encontrar com.android.support:support-v4:23.2.1
- Android: el prefijo "xmlns" no puede estar enlazado a ningún espacio de nombres explícitamente; Tampoco puede el espacio de nombres para "xmlns" estar vinculado a cualquier prefijo explícitamente