3 つのテーブルを持つ 1 つのデータベースを作成し、そのデータベースをアセット フォルダーに配置しました。チェックボックスを使用してリストビューの1つの列の値を表示し、ユーザーの選択時にそれらを別のテーブルに挿入したいと考えています。どうすればそれができますか。
これまで私が行ってきたことは、データを取得してリストに表示することです。しかし、チェックボックスを配置して、わからない値を取得するにはどうすればよいですか。私が使用したコードは以下のとおりです
1.主な活動
package com.example;
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.SimpleCursorAdapter;
public class MainActivity extends ListActivity {
private Cursor employees;
private MyDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db = new MyDatabase(this);
employees = db.getEmployees(); // you would not typically call this on the main thread
ListAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
employees,
new String[] {"FullName"},
new int[] {android.R.id.text1});
getListView().setAdapter(adapter);
}
@Override
protected void onDestroy() {
super.onDestroy();
employees.close();
db.close();
}
}
2.Mydatabase.java
package com.example;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "northwind";
private static final int DATABASE_VERSION = 2;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
//setForcedUpgradeVersion(2);
}
public Cursor getEmployees() {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String [] sqlSelect = {"0 _id", "FullName"};
String sqlTables = "Employees";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null,
null, null, null);
c.moveToFirst();
return c;
}
}
どうすればこれを行うことができるか教えてください..どんな助けにも感謝しなければなりません