2010-06-13 58 views
23

我是完全新的java & android,所以我試圖從android &數據庫中找到有用的示例。我發現這個博客與項目:「該方法setListAdapter(ArrayAdapter)是未定義的類型創建」

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

我跑的項目,它工作正常,但我試圖創建一個新的項目複製&粘貼到它的代碼,這是不工作:(

我不得不在這條線的一個問題:

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

這是錯誤我得到:

方法setListAdapter(ArrayAdapter)是未定義的類型,來創建

它看起來像在C#中的方法,但我可以在原項目中找到它。

我在哪裏犯了一個錯誤?

回答

65

當你致電this.setListAdapter這必須延伸ListActivity可能你的課只是延伸Activity

+0

感謝的非常多,你是對的:)) – Nezir 2010-06-14 20:13:57

+0

感謝您的幫助是將要發佈這個新的問題! – Steve 2011-05-19 21:24:39

1

此代碼的工作對我來說..

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



} 


}