Java &引用;方法setListAdapter(ArrayAdapter)对于类型create";未定义;
我对java和android完全陌生,所以我试图从android和数据库中找到有用的示例。我发现这个博客有一个项目: 我运行了这个项目,它运行得很好,但我试图创建一个新项目来复制并粘贴其中的代码,但这不起作用:( 我在这条线上遇到了一个问题:Java &引用;方法setListAdapter(ArrayAdapter)对于类型create";未定义;,java,android,database,Java,Android,Database,我对java和android完全陌生,所以我试图从android和数据库中找到有用的示例。我发现这个博客有一个项目: 我运行了这个项目,它运行得很好,但我试图创建一个新项目来复制并粘贴其中的代码,但这不起作用:( 我在这条线上遇到了一个问题: this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results)); this.setListAdapter(新的
this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
this.setListAdapter(新的ArrayAdapter(this,android.R.layout.simple_list_item_1,results));
这是我得到的错误:
未为创建类型定义方法setListAdapter(ArrayAdapter)
它看起来像是C#中的一个方法,但我可以在原始项目中找到它
我在哪里出错了?当你调用
这个时。setListAdapter
这个必须扩展ListActivity
可能你的类只是扩展了Activity
这个代码对我有用
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);
}
}
}
package com.Itrack.Mobile;
导入java.util.ArrayList;
导入android.app.ListActivity;
导入android.database.Cursor;
导入android.database.sqlite.SQLiteDatabase;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.SimpleCursorAdapter;
导入android.widget.TextView;
导入android.widget.Toast;
公共类listV扩展ListActivity{
公共数据库数据库;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//检查数据库是否存在//
db=openOrCreateDatabase(
“itrackmobile.sqlite”
,SQLiteDatabase.CREATE_(如果需要)
无效的
);
尝试
{
游标c=db.query(“basico”,新字符串[]
{“_id”,“codigo”,“cantidad”,“fecha”},null,null,null,null,null);
//普鲁巴芦丁//
ArrayList mArrayList=新建ArrayList();
c、 moveToFirst();
而(!c.isAfterLast()){
mArrayList.add(“ID:+c.getString(c.getColumnIndex(“\u ID”))+
“\nCodigo:”+c.getString(c.getColumnIndex(“codigo”))+“\nCantidad:”
+c.getString(c.getColumnIndex(“cantidad”))+“\n格式:”+
c、 getString(c.getColumnIndex(“fecha”));
c、 moveToNext();
}
setListAdapter(新阵列适配器
(此,右布局,单项,结婚名单);
ListView list=getListView();
list.setTextFilterEnabled(true);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
Toast.makeText(getApplicationContext(),((TextView)
arg1.getText(),Toast.LENGTH_SHORT.show();
}
});
}
捕获(运行时异常e)
{
Log.e(“basico”,e.toString(),e);
}
}
}