在Android中实现级联选择框的效果可以通过使用Spinner和ArrayAdapter来实现。以下是一个简单的例子:
首先在布局文件中添加两个Spinner,分别代表两个级联的选择框:<Spinner android:id="@+id/firstSpinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /><Spinner android:id="@+id/secondSpinner" android:layout_width="wrap_content" android:layout_height="wrap_content" />创建一个String数组来存放第一个Spinner的选项:String[] firstOptions = {"Option 1", "Option 2", "Option 3"};创建一个String数组的数组来存放第二个Spinner的选项,每个数组代表第一个Spinner选项对应的第二个Spinner选项:String[][] secondOptions = { {"Suboption 1", "Suboption 2", "Suboption 3"}, {"Suboption A", "Suboption B", "Suboption C"}, {"Suboption X", "Suboption Y", "Suboption Z"}};获取两个Spinner的实例,并为它们分别设置ArrayAdapter:Spinner firstSpinner = findViewById(R.id.firstSpinner);Spinner secondSpinner = findViewById(R.id.secondSpinner);ArrayAdapter<String> firstAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, firstOptions);firstAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);firstSpinner.setAdapter(firstAdapter);ArrayAdapter<String> secondAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, secondOptions[0]);secondAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);secondSpinner.setAdapter(secondAdapter);// 设置第一个Spinner的选择监听器firstSpinner.setOnItEMSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { // 根据第一个Spinner选择的选项来更新第二个Spinner的选项 ArrayAdapter<String> newSecondAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_spinner_item, secondOptions[position]); newSecondAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); secondSpinner.setAdapter(newSecondAdapter); } @Override public void onNothingSelected(AdapterView<?> parentView) { // 选择为空时的处理逻辑 }});通过以上步骤,当用户选择第一个Spinner的选项时,第二个Spinner会根据选择的选项来更新可选项列表,实现了级联选择框的效果。