我正在爲我的一個朋友(學習Java/Android應用程序)創建一個應用程序,他的客戶將能夠使用一系列微調器來選擇特定產品的價格。當其他微調器發生變化時保持微調器選擇
我被困在了一點,此刻我與spinners,我終於得到他們如何都掛在一起,我已經設法創建一些代碼,將基於選擇前一個微調設置一個微調選項。
這可以工作,直到在不同的微調器上進行選擇。例如。 在微調器1上選擇「單速」, 在微調器2上選擇「4」, 在微調器3上選擇「鉤子」, 微調器2復位。
一旦選擇了另一個微調框,我該如何阻止我的動態微調器重置?
最終,我將建立所有的紡紗機動態,因爲不同的選擇將決定應該提供哪些選項。
在此先感謝。 (欣賞它不是精彩的寫作,希望隨着時間的推移將會有所改進)。
public class priceList extends Activity implements AdapterView.OnItemSelectedListener{
Spinner capacity;
Spinner speed;
Spinner hoistSpeed;
Spinner type;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_price_list);
//Spinner for Capacity
capacity = (Spinner) findViewById(R.id.capacityTextView);
ArrayAdapter adapterCapa=ArrayAdapter.createFromResource(this,R.array.arrayCapacity, android.R.layout.simple_spinner_item);
capacity.setAdapter(adapterCapa);
capacity.setOnItemSelectedListener(this);
//Spinner for the Speed
speed = (Spinner) findViewById(R.id.speedTextView);
ArrayAdapter adapterSpd = ArrayAdapter.createFromResource(this,R.array.arraySpeed, android.R.layout.simple_spinner_item);
speed.setAdapter(adapterSpd);
speed.setOnItemSelectedListener(this);
//Spinner for the type
type = (Spinner) findViewById(R.id.typeTextView);
ArrayAdapter adapterBeam=ArrayAdapter.createFromResource(this,R.array.arrayType, android.R.layout.simple_spinner_item);
type.setAdapter(adapterBeam);
type.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {
//TextView myText = (TextView) view;
//Toast.makeText(this, myText.getText(), Toast.LENGTH_SHORT).show();
hoistSpeed = (Spinner) findViewById(R.id.hoistSpeedTextView);
ArrayAdapter adapterTypeA=ArrayAdapter.createFromResource(this,R.array.arrayHoistSpeedSingle, android.R.layout.simple_spinner_item);
hoistSpeed = (Spinner) findViewById(R.id.hoistSpeedTextView);
ArrayAdapter adapterTypeB=ArrayAdapter.createFromResource(this,R.array.arrayHoistSpeedDouble, android.R.layout.simple_spinner_item);
if(speed.getSelectedItem().toString().equals("Single Speed"))
{
hoistSpeed.setAdapter(adapterTypeA);
}
else if(speed.getSelectedItem().toString().equals("Dual Speed"))
{
hoistSpeed.setAdapter(adapterTypeB);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
https://github.com/henrychuangtw/ReuseSpinner – HenryChuang