Добрый день,
Как вставить выбранное значение из счетчика в базу данных SQLite?
Я создал массив в strings.xml. Тогда в Activity.java этот код:
spinner = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.Array2, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Тогда это (также в Деятельности):
Button AddHere;
Spinner spinner;
DataBase db;
db = new DataBase(this);
AddHere = (Button) findViewById(R.id.AddHere);
AddHere.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String SpinnerEdit = spinner.getSelectedItem().toString();
boolean isInserted = db.insert(SpinnerEdit);
if (isInserted == true)
Toast.makeText(Activity.this, "Data Inserted", Toast.LENGTH_LONG).show();
else
Toast.makeText(Activity.this, "Data NOT Inserted", Toast.LENGTH_LONG).show();
}
});
Затем в DBHelper.java:
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context) {
super(context, "Testing.db" , null, 1); }
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create table Testing (Spinner text);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" DROP TABLE IF EXISTS Testing");
onCreate(db);
}
public boolean insert (String SpinnerEdit)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put ("Category", SpinnerEdit);
long ins = db.insert("Testing", null, contentValues);
if (ins==-1) return false;
else return true;
}}
Но «Данные НЕ вставлены». Где проблема и как ее исправить? Заранее благодарю за помощь.