![](/img/trans.png)
[英]How to use the selected item of a spinner in an if statement (Android in eclipse)
[英]how to change the string array of a spinner at runtimeHow to use the selected item of a spinner in an if statement (Android in eclipse)
嗨,我有一個微調器(spinner1),當用戶從中選擇一個項目時(例如:“ Canada”,我希望spinner2填充“ canada”的省份。我嘗試了以下操作,但沒有用。我嘗試做通過使用:
if (spinner1.getSelectedItem().toString().equals("Canada"))
{
addItemsOnSpinner2();
}
public void addItemsOnSpinner2() {
spinner2 = (Spinner) findViewById(R.id.spinner2);
List list = new ArrayList();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
list.add("Item 4");
ArrayAdapter dataAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
}
由於某些原因,這些項目未添加到spinner2中。 請幫忙
這段代碼
if (spinner1.getSelectedItem().toString().equals("Canada"))
{
addItemsOnSpinner2();
}
由於該Activity
位於您的onCreate()
因此只會在首次創建該Activity
時運行。 您需要將此代碼添加到您的onItemSelected()
為spinner1
。 因此,您首先需要為該spinner
實現一個OnItemSelected
listener
spinner
。
spinner1.setOnItemSelected(new OnItemSelected()
{
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position,
long id)
{
TextView tv = (TextView)v; // cast the View to a TextView
if ("Canada".equals(tv.getText().toString())
{
addItemsOnSpinner2();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
這樣的事情應該起作用。 雖然,使用position
而不是獲取文本可能會更安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.