【发布时间】:2019-03-19 20:00:45
【问题描述】:
我在 SQLite 数据库中创建了 2 个表,stok 和 sales
在 DatabaseHelper.java 中
-
创建表
stokString tbStok = "CREATE TABLE stok(id_stok INTEGER PRIMARY KEY AUTOINCREMENT, waktu_stok DATETIME, id_sales INTEGER, stok INTEGER, FOREIGN KEY id_sales REFERENCES sales(id_sales)"; -
创建表
salesString tbSales = "CREATE TABLE sales(id_sales INTEGER PRIMARY KEY AUTOINCREMENT, nama VARCHAR, kodesales VARCHAR, username VARCHAR, password VARCHAR, level INTEGER)"; -
从 SQLite 创建列表数据
public List<String> getSpinnerSales(){ List<String> labels = new ArrayList<String>(); // Select All Query String selectQuery = "SELECT * FROM " + "sales"; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); // looping through all rows and adding to list if (cursor.moveToFirst()) { do { labels.add(cursor.getString(0)); labels.add(cursor.getString(1)); } while (cursor.moveToNext()); } // closing connection cursor.close(); db.close(); // returning lables return labels; } -
在微调器上显示
private void loadSpinnerSales() { // database handler DatabaseHelper db = new DatabaseHelper(getApplicationContext()); // Spinner Drop down elements List<String> lables = db.getSpinnerSales(); // Creating adapter for spinner ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, lables); // Drop down layout style - list view with radio button dataAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // attaching data adapter to spinner spsales.setAdapter(dataAdapter); } -
测试是否选择了微调器
spsales.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position,long id) { String label = parent.getItemAtPosition(position).toString(); Log.d("label:", label); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } });
我需要id_sales 来输入值并保存到其他表 SQLite,但微调器必须显示销售名称。
【问题讨论】:
标签: java android sqlite spinner