SimpleCursorAdapter是一个简单的adapter,提供数据库Cursor到TextView的映射。
在实际开发过程中,除了TextView外,往往还需要依赖于数据库数据的其它的组件。
通过继承SimpleCursorAdapter,重写bindView(View view, Context context, Cursor cursor)来实现
示例代码
Main.java
package dyingbleed.iteye;
import android.app.ListActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.SimpleCursorAdapter;
public class Main extends ListActivity {
private MySQLiteOpenHelper sqlite;
private MyListViewAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sqlite = new MySQLiteOpenHelper(this);
initListView();
}
@Override
protected void onDestroy() {
sqlite.close();
super.onDestroy();
}
private void initListView() {
SQLiteDatabase readableDB = sqlite.getReadableDatabase();
Cursor cursor = readableDB.query(MySQLiteOpenHelper.TABLE_NAME, null, null, null, null, null, null);
adapter = new MyListViewAdapter(this, cursor);
setListAdapter(adapter);
}
private class MyListViewAdapter extends SimpleCursorAdapter {
public MyListViewAdapter(Context context, Cursor c) {
super(context, R.layout.item, c, new String[] {MySQLiteOpenHelper.VOLUMN_NAME}, new int[] {R.id.item_NameTextView});
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
final int id = cursor.getInt(cursor.getColumnIndex(MySQLiteOpenHelper.VOLUMN_ID));
Button delete = (Button) view.findViewById(R.id.item_DeleteButton);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase writableDB = sqlite.getWritableDatabase();
writableDB.delete(MySQLiteOpenHelper.TABLE_NAME
, MySQLiteOpenHelper.VOLUMN_ID+"=?" //添加"=?"
, new String[] {String.valueOf(id)});
writableDB.close();
initListView();
}
});
}
}
}
MySQLiteOpenHelper.java
package dyingbleed.iteye;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "dyingbleed";
public static final String TABLE_NAME = "list";
public static final String VOLUMN_ID = "_id";
public static final String VOLUMN_NAME = "name";
public MySQLiteOpenHelper(Context context) {
super(context, TABLE_NAME, null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS "
+TABLE_NAME
+"("
+VOLUMN_ID
+" INTEGER PRIMARY KEY AUTOINCREMENT,"
+VOLUMN_NAME
+" TEXT UNIQUE)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
运行截图
- 大小: 18.2 KB
分享到:
相关推荐
SQLite数据库查询结果显示在ListView中,使用SimpleCursorAdapter
SimpleCursorAdapter简单实例
由图可以看到在Android中与Adapter有关的所有接口、类的完整层级图。在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展。比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,...
ListView的简单介绍与使用 GridView的简单介绍与使用 自定义BaseAdapter BaseAdapter的三种使用方式 ...BaseAdapter:抽象类,实际开发中我们会继承这个类并且重写相关方法,用得最多的一个Adapter!
通过SQLiteDatabase.openDatabase方法可以打开某一绝对路径下的数据库,将数据库的内容放到listview上
NULL 博文链接:https://2528.iteye.com/blog/838329
简单的利用simplecursoradapter获取联系人信息
讲述四种适配器:ArrayAdapter SimpleAdapter SimpleCursorAdapter 自定义Adapter
在很多时候需要将表中的数据显示在ListView、Gallery等控件中,虽然可以直接使用BaseAdapter进行处理,但工作量比较大,Android SDK提供了一个专用于数据绑定的Adapter:SimpleCursorAdapter。 SimpleCUrsorAdapter...
android 适配器用法总结、比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,SimpleCursorAdapter等。
android中的Adapter使用,比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,SimpleCursorAdapter等。
import android.widget.SimpleCursorAdapter; import android.widget.Toast; public class myMenu extends Activity { private array myArray; private Cursor myCursor; private ListView myListView; private...
sqlite android simpleCursorAdapter
•Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) ...•Android---UI篇---ListView之SimpleCursorAdapter(列表)---3 • •Android---UI篇---Menu(菜单)
简单使用SimpleCursorAdapter
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, new String[] { "_id" }, new int[] { android.R.id.text1 }); // 为桌号Spinner绑定数据 ...
listView适配器SimpleAdapter和SimpleCursorAdapter细节总结
Android的API也提供了许多创建ListView适配器的快捷方式。例如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等。但你是否发现,如果采用这些系统自带的适配器,对于事件的响应只能局限在一个行单位。假设一行...
6.3.1 SimpleCursorAdapter 6.3.2 了解ArrayAdapter 6.4 结合使用适配器和AdapterView 6.4.1 基本的列表控件:ListView 6.4.2 GridView控件 6.4.3 Spinner控件 6.4.4 Gallery控件 6.4.5 创建...