我正在嘗試創建一個具有2個微調器的應用程序。第一個微調將有1,2,3的選擇。如果第一個微調器的選定值是1,那麼第二微調器將具有a,b,c的值。如果第一個微調器的選定值是2,那麼第二個將有d,e,f。如果1st = 3,那麼2nd = g,h,i。我已經使用此代碼創建這樣的:Android微調器和片段
String[] categoryValues = new String[] { "1", "2", "3"};
String[] endurance = new String[] { "a", "b", "c"};
String[] strength = new String[] { "d", "e", "f"};
String[] balance = new String[] { "g", "h", "i"};
Spinner exercise = (Spinner)findViewById(R.id.exerciseS);
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
final ArrayList<String> list = new ArrayList<String>();
if(position == 0){
for (int i = 0; i < endurance.length; ++i) {
list.add(endurance[i]);
}
ArrayAdapter<String> adapterFT = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, list);
exercise.setAdapter(adapterFT);
adapterFT.notifyDataSetChanged();
}
else if(position == 1){
for (int i = 0; i < strength.length; ++i) {
list.add(strength[i]);
}
ArrayAdapter<String> adapterDST = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, list);
exercise.setAdapter(adapterDST);
adapterDST.notifyDataSetChanged();
}
else if(position == 2){
for (int i = 0; i < balance.length; ++i) {
list.add(balance[i]);
}
ArrayAdapter<String> adapterDST = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, list);
exercise.setAdapter(adapterDST);
adapterDST.notifyDataSetChanged();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exercise_picker);
Spinner category = (Spinner)findViewById(R.id.categoryS);
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < categoryValues.length; ++i) {
list.add(categoryValues[i]);
}
ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, list);
category.setAdapter(adapter);
category.setOnItemSelectedListener(this);
}
我遇到的問題是,如何獲取第二微調更改,恕不任何按鈕片段的價值(不點擊任何按鈕)? layout image here
1微調=類別
第二微調] =運動
我是否需要創建另一個onItemSelected偵聽器? – newToAndroid
您可以創建一個新的,或使用現有的並基於視圖進行區分。但我覺得有一個單獨的聽衆是更清潔的。 – Francesc
你能告訴我應該如何創建另一個? – newToAndroid