2013-09-22 81 views
0

我在對話框中有兩個微調器。第二個依賴於第一個。我想綁定它,然後在編輯模式中選擇它。所有工作正常,但第二個微調沒有被選中。然而,當我下次打開對話框時它會被選中。 這是我的代碼的一部分。設置適配器後,微調器沒有被選中

ArrayAdapter<String> myAdap1 = (ArrayAdapter<String>) spnForeignKeyTable 
         .getAdapter(); 
       int spinnerPosition1 = myAdap1.getPosition(objcolumn_schema 
         .getForeignKeyTable()); 
       spnForeignKeyTable.setSelection(spinnerPosition1); 
       // Bind Column Spinner.Second spinner 

       dblist = DBAdapter.getColumns(pf.getString("dbid", ""),String.valueOf(objcolumn_schema.getForeignKeyTableID())); 
       ArrayAdapter<String> adpf = new ArrayAdapter<String>(
         column.this, android.R.layout.simple_spinner_item, 
         dblist); 
       adpf.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       spnForeignKeyColumn.setAdapter(adpf); 


       int spinnerPosition2 = adpf.getPosition(objcolumn_schema.getForeignKey()); 
       spnForeignKeyColumn.setSelection(spinnerPosition2); 

回答

0

在第二微調改變所選項目時,首先選擇微調的變化,你將需要設置setOnItemSelectedListener爲第一微調爲:

spinnerPosition1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
    { 
     public void onItemSelected(AdapterView<?> arg0, View v, 
                int position, long id) 
     { 
      // change second Spinner selection here 
     } 

     public void onNothingSelected(AdapterView<?> arg0) 
     { 
      // 
     } 
    }); 
+0

謝謝,它的工作。 –

相關問題