显示从edittext到spinner的项目并保存到db

时间:2011-03-25 12:04:06

标签: android database android-edittext spinner

我想从editext到spinner显示一个项目并保存到db ...如何在db中存储项目...

我的代码:

微调器填充

final DBAdapter db = new DBAdapter(this);
db.open();

Spinner spin = (Spinner) findViewById(R.id.spinner1);

AdapterCountries = new ArrayAdapter<CharSequence>(this,
                            android.R.layout.simple_spinner_item);
AdapterCountries.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spin.setAdapter(AdapterCountries);



Cursor cursor = db.getAllTitles1();
while (cursor.moveToNext()){
results=cursor.getString(2);
AdapterCountries.add(results);
}
db.close();

 Button d_ok=(Button)dialog.findViewById(R.id.d_ok);
 final EditText filename=(EditText)dialog.findViewById(R.id.filename);
 d_ok.setOnClickListener(new OnClickListener(){
        public void onClick(View arg0) {
    //
 }});

任何人都可以通过示例帮助我

谢谢...

1 个答案:

答案 0 :(得分:0)

如果你还没有,那么我真的认为你应该有一个SQL助手类来扩展给定的SQLiteOpenHelper Android类。它确实简化了数据库操作。请参阅:http://developer.android.com/guide/topics/data/data-storage.html#db

严重推荐。

如果设置了helper类,并且该类的实例设置为SQLHelper sql = new SQLHelper(this);,则修改数据库非常简单。您应该设置一个方法,您可以通过按钮onClickListener调用它(并可能在AsyncTask或后台线程中运行它):

private void addFileName(final String filename) {
    SQLiteDatabase db = sql.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(yourKeyHere, filename);
    db.insert(yourDBNameHere, null, values);
}

然后调用该方法并将其从侦听器添加到适配器:

d_ok.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        addFileName(filename.getText().toString();
        AdapterCountries.add(filename);
    }
});