Error: ArrayAdapter requiere que el ID de recurso sea un TextView
¿Qué significa esto? He estado luchando con este ListView
que tengo usando un ArrayAdapter
. Escribí este fragmento de diálogo agradable que he llamado de nuevo a un listner updateUI causa Quiero actualizar este ListView
Tengo en mi fragmento de la DialogFragment
al principio el ArrayAdapter
era un tipo complejo de una clase i Creado:
ArrayAdapter<Location> theLocations; ... //in oncreateview theLocations = new ArrayAdapter<Location>(mContext, R.layout.location_row, locations); //here locations is an ArrayList<Location>
luego tengo:
- Añadir imagen de fondo a Android ListView con Picasso
- OnScroll se llama cuando establezco listView.onScrollListener (este), pero sin ningún toque
- Omitir el error en el filtrado que no actualiza ListView Android
- Cómo mostrar la imagen (matriz de bytes) de JSON en imageView ... Factory devuelve null
- ¿Cómo iniciar adecuadamente una barra de acción contextual multiselección para ListFragment (tener problemas)
public void onUIUpdate(Location l) { //called from dialog fragment locations.add(l); theLocations.notifyDataSetChanged(); }
Entonces que dio el error anterior por lo que cambió a utilizar sólo un
String[] locationNames = new String[sizeofLocations]; theLocations=new ArrayAdapter<String>(mContext, R.layout.location_Row, locationNames ); public void onUIUpdate(Location l) { locations.add(l); locationNames = new String[locations.size()]; for(locations.size() etc...) { locationNames [i] = new String(locations.get(i).getName()); } theLocations.notifyDataSetChanged(); }
Esto no error en mi método de actualización (que actualiza el ui), pero no actualizar nada. Así que estoy perdido en cuanto a la forma de actualizar este ArrayAdapter, pensé que notifyChange se supone que hacerlo, pero tampoco hace nada o lanza el error anterior.
No tengo ningún problema con mi SimpleCursorAdapters en otro lugar de mi programa (siempre y cuando mis cursores permanecen abiertos y llamo una consulta sobre ellos).
¿Alguna idea de lo que estoy haciendo mal?
A petición aquí está mi diseño para el R.layout.location_row
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="horizontal"> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_name" android:textSize="15px" android:layout_marginTop="10px" android:layout_width="wrap_content"></TextView> <TextView android:text="|" android:layout_height="wrap_content" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_lat" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="|$" android:layout_height="wrap_content" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> <TextView android:text="@+id/TextView01" android:layout_height="wrap_content" android:id="@+id/location_lon" android:textSize="15px" android:layout_marginTop="6px" android:layout_width="wrap_content"></TextView> </LinearLayout>
- La vista setVisibility (GONE) se vuelve invisible pero todavía ocupa espacio
- ¿Cómo mostrar la barra de progreso en cada elemento de vista de lista?
- ¿Cómo obtener ViewSwitcher para envolver sólo la altura de vista actualmente visualizada?
- ListView filtrar correctamente pero muestra un resultado incorrecto
- MotionEvent.ACTION_UP no se llama
- La fila ListView no se puede hacer clic después de agregar el botón a la fila
- ListView + BaseAdapter - cómo notificar sobre el cambio en un solo artículo?
- Vista de lista optimizada con 1k lista de objetos
Como podemos leer en http://developer.android.com/reference/android/widget/ArrayAdapter.html ArrayAdapter sólo funciona con cadenas de texto. Puede utilizar este constructor
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
Especifica el id de un TextView dentro de tu diseño o reemplaza
getView(int, View, ViewGroup)
Devolviendo una vista de su tipo personalizado.
- ¿Cómo publicar datos en un Webservice usando JSON?
- Android SkImageDecoder :: Factory devuelto null Error