Android:CursorAdapter 的问题

Android: problems with CursorAdapter

首先感谢大家的回答,抱歉使用了糟糕的英语,有一个控制器 class 来填充列表视图和一个适配器 class 扩展 CursorAdapter,我的问题是当我设置适配器时,我的 class 适配器不是 运行 Newview 方法 BindView 肯定不是 运行。这是用于此的代码,他们希望可以提供帮助。问候

public class ListaAdaptador extends CursorAdapter {


public static class ContenedorView
{
    TextView nombre;
    TextView apellidos;
    TextView dni;
    TextView telefono;
    ImageView img;
}
public ListaAdaptador(Context a, Cursor c)
{
    super(a, c);


}



@Override
public int getCount() {
    return 0;
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    LayoutInflater inflater =  (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.list_item,parent,false);
    ContenedorView contenedor = null;
    contenedor = new ContenedorView();
    contenedor.nombre = (TextView) view.findViewById(R.id.txt_item_nombre);
    contenedor.apellidos =(TextView) view.findViewById(R.id.txt_item_apellidos);
    contenedor.dni = (TextView) view.findViewById(R.id.txt_item_dni);
    contenedor.telefono = (TextView) view.findViewById(R.id.txt_item_telefono);
    contenedor.img = (ImageView) view.findViewById(R.id.ImageViewItem);
    view.setTag(contenedor);
    return view;
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    ContenedorView contenedor = (ContenedorView) view.getTag();
    contenedor.nombre.setText(cursor.getString(cursor.getColumnIndex("nombre")));
    contenedor.apellidos.setText(cursor.getString(cursor.getColumnIndex("apellidos")));
    contenedor.dni.setText(cursor.getString(cursor.getColumnIndex("dni")));
    contenedor.telefono.setText(cursor.getString(cursor.getColumnIndex("telefono")));
    contenedor.img.setImageResource(R.drawable.img_nodisp);
}

}

clase ListaControlador

public class ListadoControlador extends ListActivity {

EditText aproximacion;
ListView lv;
ImageButton buscar;
SQLiteDatabase db;
Cursor cursor;
ListaAdaptador adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_listado);
    aproximacion = (EditText) findViewById(R.id.EditText01);
    buscar =(ImageButton)findViewById(R.id.btnBuscar);
    lv=getListView();

    prepararBaseDeDatos();
    obtenemosValores();
}


public void prepararBaseDeDatos()
{
    AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,"registro",null,1);
    db = admin.getWritableDatabase();
}


public void obtenemosValores()
{
        cursor = db.rawQuery("select _id,nombre,apellidos,dni,telefono from paciente", null);
        adapter = new ListaAdaptador(ListadoControlador.this,cursor);
        lv.setAdapter(adapter);
  }

从您的 ListaAdaptador class 中删除三个覆盖方法 getCount()getItem()getItemId()。您不需要它们,因为您使用的是 CursorAdapter。