“方法 setListAdapter(ArrayAdapter) 对于类型 create 是未定义的”

2022-09-01 21:43:04

我对java和android完全陌生,所以我试图从Android和数据库中找到有用的样本。我发现这个博客有一个项目:

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) 未为类型 create 定义

它看起来像C#中的一个方法,但我可以在原始项目中找到它。

我在哪里犯了错误?


答案 1

当你调用这个必须扩展可能你的类只是扩展。this.setListAdapterListActivityActivity


答案 2

这个代码对我有用。.

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



}


}

推荐