我正在尝试将2个微调器连接在一起。意思是,第二个微调器内的项目将取决于为第一个微调器选择的任何项目。
这是主java文件中的代码。
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
这是MyOnItemSelectedListener.java
中的代码public class MyOnItemSelectedListener实现OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext()), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
因此onItemSelected函数将打印出在屏幕上第一个微调器中选择的项目。但是,我无法弄清楚如何根据第一个微调器内的值完全创建第二个微调器。
我知道在onItemSelected中应该有一些东西需要完成,但由于我是Java Android的新手,我无法理解它。
你能帮助我吗?
谢谢。
答案 0 :(得分:1)
你应该做的事与你在onCreate中所做的非常相似,只能与其他微调器一样。例如:
List<String> values = findValuesBySelection(parent.getItemAtPosition(pos).toString());
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, values, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter);