2010-06-13 17 views
23

Soy completamente nuevo en Java & android, así que traté de encontrar muestras útiles de android & bases de datos. He encontrado este blog con un proyecto:"El método setListAdapter (ArrayAdapter) no está definido para el tipo create"

http://saigeethamn.blogspot.com/2009/10/android-developer-tutorial-part-12.html

me encontré con el proyecto y trabaja muy bien, pero yo estaba tratando de crear un nuevo proyecto para copiar & pegar el código en él y esto no está funcionando :(

que tenía un problema en esta línea:

this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results)); 

este es el error que consigo:

El método setListAdapter (ArrayAdapter) no está definida para crear el tipo

Parece un método en C#, pero puede encontrarlo en el proyecto original.

¿Dónde cometí un error?

Respuesta

65

Cuando llame al this.setListAdapter esto debe extenderse ListActivity probablemente su clase simplemente se extiende Activity.

+0

de mucho tenías razón :)) – Nezir

+0

gracias por la ayuda estaba a punto de publicar una nueva pregunta en esta gracias !!! – Steve

1

funciona este código para mí ..

package com.Itrack.Mobile; 

import java.util.ArrayList; 
import android.app.ListActivity; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.SimpleCursorAdapter; 
import android.widget.TextView; 
import android.widget.Toast; 

public class listV extends ListActivity { 
public SQLiteDatabase db; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

     // Check if the database exist // 
    db = openOrCreateDatabase(
      "itrackmobile.sqlite" 
      , SQLiteDatabase.CREATE_IF_NECESSARY 
      , null 
      ); 

    try 
    { 
     Cursor c = db.query("basico", new String[]  
     {"_id","codigo","cantidad","fecha"},null,null,null,null,null); 

     // rutina de prueba // 
       ArrayList<String> mArrayList = new ArrayList<String>(); 
       c.moveToFirst(); 
       while(!c.isAfterLast()) { 
        mArrayList.add("ID: " +c.getString(c.getColumnIndex("_id")) + 
      "\nCodigo : " + c.getString(c.getColumnIndex("codigo")) + "\nCantidad : " 
      + c.getString(c.getColumnIndex("cantidad")) + "\nFecha : " +  
      c.getString(c.getColumnIndex("fecha"))); 
         c.moveToNext(); 
      } 

       setListAdapter(new ArrayAdapter<String> 
       (this,R.layout.single_item,mArrayList)); 
       ListView list = getListView(); 
       list.setTextFilterEnabled(true); 
       list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, 
          int arg2, long arg3) { 

        Toast.makeText(getApplicationContext(), ((TextView) 
         arg1).getText(), Toast.LENGTH_SHORT).show(); 
        } 

       }); 
    } 
    catch (RuntimeException e) 
    { 
     Log.e("basico", e.toString(), e); 
    } 



} 


} 
Cuestiones relacionadas