设置适配器后,Spinner不会被选中

时间:2013-09-22 06:33:55

标签: android spinner android-spinner

我在对话框中有两个微调器。第二个依赖于第一个。我想绑定它,然后在编辑模式下选择它。一切正常,但第二个微调器没有被选中。然而,当我下次打开对话框时它会被选中。 这是我的代码的一部分。

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);

1 个答案:

答案 0 :(得分: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)
        {
            //
        }
    });