2010-06-13 3 views
23

Je suis complètement nouveau à Java & android, alors j'ai essayé de trouver des exemples utiles à partir de bases de données android &. J'ai trouvé ce blog avec un projet:"La méthode setListAdapter (ArrayAdapter) est indéfinie pour le type créer"

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

J'ai couru le projet et il fonctionne très bien, mais je tentais de créer un nouveau projet pour copier & coller le code dans et ce ne fonctionne pas :(

J'ai eu un problème sur cette ligne:

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

Ceci est l'erreur que je reçois:

La méthode setListAdapter (ArrayAdapter) est définie pour le type créer

Il ressemble à une méthode en C#, mais je peux le trouver dans le projet initial.

Où ai-je commis une erreur?

Répondre

65

Lorsque vous appelez this.setListAdapter cela doit étendre ListActivity probablement votre classe étend juste Activity.

+0

droite :)) Remercions très bien vous étiez – Nezir

+0

Merci pour l'aide était sur le point de poster une nouvelle question sur ce !!! – Steve

1

ce travail de code pour moi ..

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); 
    } 



} 


} 
Questions connexes