2010-09-20 50 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);