Java 通过光标将数据库内容添加到ListView
所以我想尽量提供更多的信息来解决这个问题。我的应用程序包含一个实现了标准方法的数据库;检索一条记录或所有记录将返回一个游标 我的应用程序有一个列表视图、一个文本框和一个添加按钮。以下是我试图实现的目标(请注意,第一个目标是最重要的):Java 通过光标将数据库内容添加到ListView,java,android,database,sqlite,cursor,Java,Android,Database,Sqlite,Cursor,所以我想尽量提供更多的信息来解决这个问题。我的应用程序包含一个实现了标准方法的数据库;检索一条记录或所有记录将返回一个游标 我的应用程序有一个列表视图、一个文本框和一个添加按钮。以下是我试图实现的目标(请注意,第一个目标是最重要的): 我想在ListView区域显示数据库的当前内容 我想让按钮将文本框中的任何内容插入数据库(并且ListView应该自动更新以显示插入) 我希望能够点击ListView中的项目,并将其从数据库中删除 我试图通过为getAllRecords()方法的返回指定一个游
- 我想在ListView区域显示数据库的当前内容
- 我想让按钮将文本框中的任何内容插入数据库(并且ListView应该自动更新以显示插入)
- 我希望能够点击ListView中的项目,并将其从数据库中删除
Button add;
EditText tm;
ListView lv;
DBAdapter dba = new DBAdapter(this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_general);
add = (Button) findViewById(R.id.button1);
tm = (EditText) findViewById(R.id.editText1);
lv = (ListView) findViewById(R.id.generalList);
Cursor c = dba.getAllRecords();
c.moveToFirst();
// Trying to add database contents to ListView here.
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
insertIntoDatabase();
}
});
}
如果您有一个来自数据库的游标,要显示在列表中的内容是一些简单的数据,比如一些文本值。看看SimpleCorsorAdapter。 情况是这样的,您需要一个适配器,适配器是从游标加载并推入表示相应列表项的布局的适配器。从游标适配器继承的任何内容都是好的。所有这些都取决于您需要多少灵活性,因此您可以根据需要实施多少。 这是我在github发布的示例应用程序中的一个snnipet。 该应用程序也在市场上。这只是一个非常简单的应用程序,在“培训”过程中使用。该应用程序称为“Nerdito Sample”,搜索它,然后在github上尝试代码。将项目添加到数据库并显示在列表中。 样本:
我郑重建议你学习一些Android教程。一个
ListView
几乎只需要一件东西来自动填充和管理它的内容——一个适配器。在那之后,工作就为你完成了。正如soynerdito指出的那样,SimpleCursorAdapter
将管理数据库查询的结果集。找到一些关于如何使用它的教程,你应该准备好了。
Device device = new Device();
Cursor cursor = mdb.get(device);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor, new String[] {
device.mDescription.mName, device.mDeviceID.mName },
new int[] { android.R.id.text1, android.R.id.text2 }, 0);
// Create Cursor and set to List
mDeviceListView.setAdapter(adapter);