Im新的android。我曾試圖建立擁有2飛旋...... 我有一些懷疑前深去我的程序清除應用..多個微調器的簡單疑惑
請作簡要回答我的問題......
- 是在一個視圖中可能有2個旋轉器?
- 我可以爲兩者添加
setOnItemSelectedListener(this)
嗎? - 如果是的話,我怎麼能知道在兩個spinners上選擇了哪個選項?像兩個spinners上的
spinner.getSelectedItemPosition();
?
等待你的寶貴回覆。參考資料也很明顯
Im新的android。我曾試圖建立擁有2飛旋...... 我有一些懷疑前深去我的程序清除應用..多個微調器的簡單疑惑
請作簡要回答我的問題......
setOnItemSelectedListener(this)
嗎?spinner.getSelectedItemPosition();
?等待你的寶貴回覆。參考資料也很明顯
是的,你可以有多個微調的,可以通過單一的監聽器來管理,或者你可以爲每個單獨的監聽器。
對於單監聽器,你可以做這樣的事情,
設置監聽
spinner1.setOnItemSelectedListener(this);
spinner2.setOnItemSelectedListener(this);
然後你可以使用onItemSelected
得到執行與微調的動作。
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position,long arg3)
{
int id = parent.getId();
switch (id)
{
case R.id.spinner1:
// your stuff here
break;
case R.id.spinner2:
// your stuff here
break;
}
它不適用於我的情況.... :( – Noman
如果兩個spinners的引用不同(如果你使用2個spinners),給它們不同的ID,你可以唯一標識它們,是的,你可以設置單擊監聽器他們個人。
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { ... });
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { ... });
spinner1.getSelectedItemPosition()
,spinner2.getSelectedItemPosition()
我是這麼做的。我現在可以在第二個微調器中打印警報中的值。但是當我嘗試首先完成時,它顯示錯誤。 「 」應用程序MultiSpinner(process com.myApps)意外停止,請再試一次[強制關閉]「 –
檢查:
微調spinner0,spinner1,spinner2; TextView textView0,textView1,textView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView0 = (TextView) findViewById(R.id.text0);
spinner0 = (Spinner) findViewById(R.id.spinner0);
ArrayAdapter<String> adapter0 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, text0);
adapter0.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner0.setAdapter(adapter0);
spinner0.setOnItemSelectedListener(onItemSelectedListener0);
textView1 = (TextView) findViewById(R.id.text1);
spinner1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, text1);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
spinner1.setSelection(0,false); //make sure only one listener is
//活性在通過設置其他聽者爲假 spinner1.setOnItemSelectedListener(onItemSelectedListener1)的onCreate方法;
textView2 = (TextView) findViewById(R.id.text2);
spinner2 = (Spinner) findViewById(R.id.spinner2);
MySpinnerAdapter adapter2 = new MySpinnerAdapter(MainActivity.this, android.R.layout.simple_spinner_item, obj2);
//adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);
spinner2.setSelection(0,false);
spinner2.setOnItemSelectedListener(onItemSelectedListener2);
}
OnItemSelectedListener onItemSelectedListener0 = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//do your stuff spinner0
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
OnItemSelectedListener onItemSelectedListener1 = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//do your stuff spinner1
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
OnItemSelectedListener onItemSelectedListener2 = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//do your stuff spinner2
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
}
歡迎來到SO。 ,可能很難掌握它是否只是代碼,通常用幾句話評論解決方案。請編輯你的答案並添加一些解釋。 – MikaS
我也有一個問題:是什麼在只是想它的危害呢?無論是在小樣本項目還是在源代碼控制下的項目中,如果您對結果不滿意,可以稍後恢復。 – 2011-11-16 11:26:53