2012-04-03 85 views
0

我正在根據我的數據庫中的數據填充幾個字段。我無法弄清楚如何使用數據庫中的數據來選擇微調器中的項目。 Spinner有四個選項,當我輸入數據到db時,我選擇一個。現在當我打電話給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

我想獲得選項的數據庫是在微調中選擇的一個 – Aaron 2012-04-03 20:20:32

相關問題