public class MainActivity extends Activity implements OnItemSelectedListener {
private Spinner mspin1, mspin2;
private Button mbtnOK;
private TextView mtxtR;
String mspin1_str[] = {"台中","宜蘭","花蓮"};
String mspin2_str1[] = {"太陽餅","三明治","牛軋糖"}; // 台中名產
String mspin2_str2[] = {"蜜餞","鴨賞","牛舌餅"}; // 宜蘭名產
String mspin2_str3[] = {"麻糬","小月餅","奶油酥條"}; // 花蓮名產
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mspin1 = (Spinner) findViewById(R.id.spin1);
mspin2 = (Spinner) findViewById(R.id.spin2);
mbtnOK = (Button) findViewById(R.id.btnOK);
mtxtR = (TextView) findViewById(R.id.txtR);
mspin1.setOnItemSelectedListener(this);
mbtnOK.setOnClickListener(mbtnOKOnClickListener);
// 將「地區」變數的陣列指派給 mspin1 下拉選單
ArrayAdapter
android.R.layout.simple_spinner_dropdown_item, // 下拉式選單的樣式
mspin1_str); // 將陣列 {"台中","宜蘭","花蓮"} 指派給 ArrayAdapter 型態的變數 tmp_spin1
mspin1.setAdapter(tmp_spin1);
}
private View.OnClickListener mbtnOKOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mtxtR.setText(getString(R.string.stxtR) +
mspin1.getSelectedItem() + ", " + // 取得第一個項目點選的文字
mspin2.getSelectedItem()); // 取得第二個項目點選的文字
}
};
@Override
public void onItemSelected(AdapterView parent, View view, int position, long id) {
// TODO Auto-generated method stub
// 將所屬地區的「名產」變數陣列指派給 mspin2 下拉選單
switch (position) {
case 0:
ArrayAdapter
android.R.layout.simple_spinner_dropdown_item,
mspin2_str1); // 將陣列 {"太陽餅","三明治","牛軋糖"} 指派給 ArrayAdapter 型態的變數 tmp_spin2_1
mspin2.setAdapter(tmp_spin2_1);
break;
case 1:
ArrayAdapter
android.R.layout.simple_spinner_dropdown_item,
mspin2_str2); // 將陣列 {"蜜餞","鴨賞","牛舌餅"} 指派給 ArrayAdapter 型態的變數 tmp_spin2_2
mspin2.setAdapter(tmp_spin2_2);
break;
case 2:
ArrayAdapter
android.R.layout.simple_spinner_dropdown_item,
mspin2_str3); // 將陣列 {"麻糬","小月餅","奶油酥條"} 指派給 ArrayAdapter 型態的變數 tmp_spin2_3
mspin2.setAdapter(tmp_spin2_3);
break;
}
}
@Override
public void onNothingSelected(AdapterView parent) {
// TODO Auto-generated method stub
}
}
範例下載

沒有留言:
張貼留言