2010-09-20 51 views
1

我想将2个纺纱器连接在一起。意思是,第二旋转器内的物品将取决于第一旋转器选择的任何物品。如何完全连接2个不同的纺纱器

这是主java文件中的代码。

公共无效的onCreate(捆绑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代码

公共类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函数将打印出在屏幕上第一个微调器中选择的项目。但是,我无法弄清楚如何根据1st Spinner中的值完全创建2nd Spinner。

我知道在onItemSelected里面应该有一些需要做的事情,但我无法弄清楚,因为我是Java Android的新手。

你们能帮我吗?

谢谢。

回答

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