Java 基于其他微调器更改微调器选项

Java 基于其他微调器更改微调器选项,java,android,android-arrayadapter,android-spinner,Java,Android,Android Arrayadapter,Android Spinner,我正在尝试使用微调器通过我的数据库实现用户搜索 我有车队和车辆(车队包含车辆)。我有一个车队列表作为一个旋转器,还有一个车辆列表作为另一个旋转器 默认情况下,我希望车队设置为“全部”,车辆显示为显示所有车辆(目前是这种情况),但是当车队输入更改为特定车辆时,例如车队1,车辆微调器应相应更新[这将通过SQLite数据库搜索实现,但我认为问题不在这里] 当舰队微调器数据发生更改时,如何制作侦听器 vehicleSpinner = (Spinner) findViewById(R.id.vehicle

我正在尝试使用微调器通过我的数据库实现用户搜索

我有车队和车辆(车队包含车辆)。我有一个车队列表作为一个旋转器,还有一个车辆列表作为另一个旋转器

默认情况下,我希望车队设置为“全部”,车辆显示为显示所有车辆(目前是这种情况),但是当车队输入更改为特定车辆时,例如车队1,车辆微调器应相应更新[这将通过SQLite数据库搜索实现,但我认为问题不在这里]

当舰队微调器数据发生更改时,如何制作侦听器

vehicleSpinner = (Spinner) findViewById(R.id.vehicleSpinner); 
      String selected = (String)fleetSpinner.getSelectedItem();
      ArrayAdapter<String> adapter5 = null;
      if(selected == "All"){
          //show all vehicles
          adapter5 = new ArrayAdapter<String>(this, R.layout.sherlock_spinner_item, vehicleArrayListString);

  }else{
      String vehiclesInFleetQuery = "SELECT * FROM " + Database.TABLE_VEHICLE + " WHERE " + Database.COLUMN_FLEET + "='" + selected +"'";
      Log.i(TAG,"QUERY: "+ vehiclesInFleetQuery);
      Cursor cursor = Database.listOfVehiclesDesired(query);


        if(cursor.moveToFirst()){
            do {
             String addToList = cursor.getString(cursor.getColumnIndex(Database.COLUMN_VEHICLE_ID));
             vehicleArrayFleet.add(addToList);
            } while (cursor.moveToNext());
        }else{//error on fleet search, no vehicles in fleet
            vehicleArrayFleet = vehicleArrayListString;
            builderContinue.setMessage("Selected Fleet(" + selected + ") had zero associated vehicles").setTitle("Error").show();
        }


        if (cursor != null && !cursor.isClosed()) {
            System.out.println("Closed");
            cursor.close();
        }

       adapter5 = new ArrayAdapter<String>(this, R.layout.sherlock_spinner_item, vehicleArrayFleet);
  }


 adapter5.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
  vehicleSpinner.setAdapter(adapter5);
vehicleSpinner=(微调器)findViewById(R.id.vehicleSpinner);
所选字符串=(字符串)fleetSpinner.getSelectedItem();
ArrayAdapter适配器5=空;
如果(所选==“全部”){
//显示所有车辆
adapter5=新阵列适配器(此,R.layout.sherlock\u微调器\u项,车辆阵列列表字符串);
}否则{
String vehiclesIncodetQuery=“选择*自”+Database.TABLE_VEHICLE+”,其中“+Database.COLUMN_FLEET+”='“+selected+”;
Log.i(标签,“查询:+VehiclesIncometQuery”);
游标=数据库。所需车辆列表(查询);
if(cursor.moveToFirst()){
做{
String addToList=cursor.getString(cursor.getColumnIndex(Database.COLUMN_VEHICLE_ID));
车辆车队。添加(添加列表);
}while(cursor.moveToNext());
}else{//车队搜索错误,车队中没有车辆
VehiclaryFleet=VehiclaryListString;
builderContinue.setMessage(“所选车队(“+Selected+”)没有关联的车辆”).setTitle(“错误”).show();
}
if(cursor!=null&!cursor.isClosed()){
系统输出打印项次(“关闭”);
cursor.close();
}
适配器5=新阵列适配器(此,R.layout.sherlock\u spinner\u项目,车辆车队);
}
adapter5.setDropDownViewResource(R.layout.sherlock\u微调器\u下拉菜单\u项);
车辆固定适配器(适配器5);

您需要为震源组微调器设置OnItemSelectedListener。你可以在网站上找到一个例子。从车队微调器的侦听器中,您可以设置车辆微调器的选定项。

您已经删除了该问题很好,但还没有完成…等等,我有更好的礼物给您:):),如果您需要回复我,请再次感谢Grijesh!