2012-04-03 2 views
0

Я заполняю несколько полей на основе данных моего db. Мне трудно понять, как использовать данные из db, чтобы выбрать элемент, который находится в spinner. У Spinner есть четыре варианта, и при вводе данных в db я выбираю один. Теперь, когда я вызываю db, я хочу, чтобы этот параметр отображался как тот, который выбран в spinner. В основном я пытаюсь получить опцию в db, которая будет отображаться в счетчике. Прокомментированная строка - это то, что я пробовал, но не работает. Есть идеи?Попробуйте выбрать опцию в spinner из db

truckNumber = (Spinner) findViewById(R.id.truck_number); 
    drivable = (RadioButton) findViewById(R.id.drivable); 
    notDrivable = (RadioButton) findViewById(R.id.not_drivable); 
    truck = (RadioButton) findViewById(R.id.truck); 
    trailer = (RadioButton) findViewById(R.id.trailer); 
    aa = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, trucks); 
    bb = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, trailers); 
    newTime = new Time(); 
    edit= new Inspection(); 
    long something = edit.returnID(); 
    updateDB= new InspectionDBAdapter(this); 
    if(something>0) 
    { 
     updateDB.open();  
     Cursor result= updateDB.getOneInspection(something); 
     result.moveToFirst(); 
     int odo=result.getColumnIndex("odometer"); 
     int firstDriver=result.getColumnIndex("driver"); 
     int secondDriver=result.getColumnIndex("codriver"); 
     int driveCondition=result.getColumnIndex("status"); 
     int vehicleType=result.getColumnIndex("vehicle_type"); 
     int truckNum=result.getColumnIndex("vehicle_id"); 
     driver.setText(result.getString(firstDriver)); 
     odometer.setText(result.getString(odo)); 
     coDriver.setText(result.getString(secondDriver)); 
    // truckNumber.setAdapter(aa.getPosition(result.getString(truckNum).to)); 
    // truckNumber.setSelection(result.getString(truckNum).toString()); 
     if(result.getString(driveCondition).equals("1")) 
      drivable.setChecked(true); 
     else 
      notDrivable.setChecked(true); 

     if(result.getString(vehicleType).equals("truck")) 
      truck.setChecked(true); 
     else 
      trailer.setChecked(true); 

     result.close(); 
     updateDB.close(); 
    } 

обновление: Найдено ответов на How to set selected item of Spinner by value, not by position?. Второй ответ 48 голосов

ответ

1

Я не совсем понял ваш вопрос, однако

truckNumber.setAdapter(aa.getPosition(result.getString(truckNum).toString)); 

не должен даже скомпилировать. Вы, вероятно, захотите сделать

truckNumber.setAdapter(aa); 
+0

Я пытаюсь получить опцию, которую db выбрал в качестве счетчика – Aaron

Смежные вопросы