Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2016, 06:24
dardosmania
 
Fecha de Ingreso: julio-2015
Mensajes: 85
Antigüedad: 8 años, 9 meses
Puntos: 4
Problema al inflatar un xml para realizar un CursorAdapter

Buenas

llevo un par de dias intentando descubrir el porque de este error y no consigo dar con ello. Tengo que realizar una agenda de contactos los cuales guardo en una base de datos de SQLite, hasta ahi todo bien se guarda y hago la consulta y recibo los datos, el problema viene al intentar meter esos datos en la ListView y el error que me lanza se produce en esta linea:
Código Java:
Ver original
  1. View rlContacto = inflater.inflate(R.layout.contacto, parent);
me da un error, siendo el R.layout.contacto mi xml plantilla.

contacto.xml:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:orientation="horizontal"
  4.    android:layout_width="match_parent"
  5.    android:layout_height="match_parent">
  6.  
  7.    <ImageView
  8.        android:layout_width="wrap_content"
  9.        android:layout_height="wrap_content"
  10.        android:id="@+id/ivIcono"
  11.        android:background="@drawable/ic_persona"/>
  12.     <LinearLayout
  13.        android:layout_width="match_parent"
  14.        android:layout_height="wrap_content"
  15.        android:orientation="vertical">
  16.  
  17.         <TextView
  18.            android:layout_width="wrap_content"
  19.            android:layout_height="wrap_content"
  20.            android:text="@string/nombre"
  21.            android:id="@+id/tvNombre"
  22.            android:padding="10dp"/>
  23.  
  24.         <TextView
  25.            android:layout_width="wrap_content"
  26.            android:layout_height="wrap_content"
  27.            android:text="@string/telefono"
  28.            android:id="@+id/tvTelefono"
  29.            android:padding="10dp"/>
  30.     </LinearLayout>
  31.  
  32.    
  33.  
  34. </LinearLayout>


Cuando hago estos pasos en el onCreate de mi MainActivity:

Código Java:
Ver original
  1. ManejaBD.inicializaBD(this);//Metodo estatico que inicializa la base de datos
  2.         cursor = ManejaBD.consulta();//Metodo estatico que hace la consulta a la base de datos y retorna el cursor
  3.  
  4.         adaptador = new Adaptador(getApplicationContext(), cursor);
  5.         lista.setAdapter(adaptador); //En este punto se ejecuta el    public View newView el metodo en el cual se encuentra la linea del error.

Metodo public View newView:

Código Java:
Ver original
  1. @Override
  2.     public View newView(Context context, Cursor cursor, ViewGroup parent) {
  3.  
  4.         LayoutInflater inflater = LayoutInflater.from(parent.getContext());
  5.         View rlContacto = inflater.inflate(R.layout.contacto, parent); //Esta linea es la que me lanza el error
  6.         return rlContacto;
  7.     }

El error que me devuelve es el siguiente:

android.view.InflateException: Binary XML file line #34: addView(View, LayoutParams) is not supported in AdapterView

Siendo esa Linea 34 que marca la ultima linea del contactos.xml y aun sigo sin entender el porque del fallo he buscado por internet y no he encontrado nada sobre ese caso he cogido xml en ejemplos de un corsorAdapter que a ellos les funciona y tampoco lo inflata es decir culpa del xml no es pero no se ya por donde cogerlo