2010-06-13 15 views
23

Jestem całkowicie nowy dla java & android, więc próbowałem znaleźć przydatne próbki z baz danych Android &. Znalazłem ten blog z projektem:"Metoda setListAdapter (ArrayAdapter) jest niezdefiniowana dla typu create"

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

Pobiegłem projekt i to działa dobrze, ale starałem się stworzyć nowy projekt, aby skopiować & wkleić kod w nim i to nie działa :(

miałem problem na tej linii:

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

jest to błąd otrzymuję:

Metoda setListAdapter (ArrayAdapter) nie jest zdefiniowana dla danego typu stworzyć

wygląda jak metody w C#, ale mogę go znaleźć w oryginalnym projekcie.

Gdzie popełniłem błąd?

Odpowiedz

65

Po wywołaniu this.setListAdapter musi to rozszerzyć się na ListActivity prawdopodobnie Twoja klasa po prostu rozszerza się o Activity.

+0

Thank jest bardzo dużo miałeś rację :)) – Nezir

+0

Dzięki za pomoc miał pisać nowe pytanie w tej sprawie !!! – Steve

1

ta praca kod dla mnie ..

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



} 


} 
Powiązane problemy