2016-04-01 4 views
1

Мне нужно сохранить значение, выбранное из счетчика, в мою уже существующую таблицу в базе данных sqlite. Я не могу получить четкое представление из Интернета, поскольку он показывает только, как вводить значения счетчика в db а не выбранный value.this код для реализации кок (статический)сохранение выбранных значений счетчика в sqlite

Spinner staticSpinner = (Spinner) findViewById(R.id.static_spinner); 

    // Create an ArrayAdapter using the string array and a default spinner 
    ArrayAdapter<CharSequence> staticAdapter = ArrayAdapter 
      .createFromResource(this, R.array.man_array, 
        android.R.layout.simple_spinner_item); 

    // Specify the layout to use when the list of choices appears 
    staticAdapter 
      .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    // Apply the adapter to the spinner 
    staticSpinner.setAdapter(staticAdapter); 

    Spinner dynamicSpinner = (Spinner) findViewById(R.id.dynamic_spinner); 

    String[] items = new String[] {"rate_of_flow", "30", "40", "50" }; 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, items); 

Мое приложение может использовать как динамические, так и статические spinner.I не имеют preference.Can вы мне помочь?

ответ

1

Почему вы не просто получить выбранный элемент и вставить выбранное значение в базе данных, как здесь

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String selected = parent.getItemAtPosition(position).toString(); 
      //Code to insert selected string in database 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
+0

Спасибо за ваш help.I попытался его реализации и получил this exception -> java.lang.IllegalStateException: Не удалось прочитать строку 0, col -1 из CursorWindow. Перед доступом к данным убедитесь, что курсор инициализирован правильно. Какая может быть проблема? – Shrei

+0

Это не ошибка этого кода. Это означает, что 'getColumnIndex()' не смог найти указанный столбец в 'Cursor'. Посмотрите, где вы правильно использовали getColumnIndex(). –

+0

pipe flowrate = c.getString (c.getColumnIndex (FLOW_RATE)) Это как мы извлекаем значение из db? – Shrei

1

Попробуйте:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String string = (String) spinner.getItemAtPosition(spinner.getSelectedItemPosition()); 
      Toast.makeText(YourActivity.this, "Selected Item "+string, Toast.LENGTH_SHORT).show(); 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    }); 
} 
Смежные вопросы