Хорошо, я работаю над приложением для Android.В одном из действий моего приложения (называемом конвертированием) уже есть 3 пустых блесны (пока мы будем игнорировать третий).Один основной счетчик позволяет пользователю выбирать такие темы, как температура, давление или объем.
public class Convert extends Activity{
String category = MySingleton.getInstance().getCategory();
protected DataStorage appState;
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.convert);
appState = (DataStorage)getApplication();
// Category Info
Spinner convertTopic = (Spinner) findViewById(R.id.convertTopic);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.convertTopic_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
convertTopic.setAdapter(adapter);
category = MySingleton.getInstance().getCategory();
// Subcategory Info
Spinner inputUnit = (Spinner) findViewById(R.id.inputUnit);
ArrayAdapter<CharSequence> adapter2;
adapter2 = ArrayAdapter.createFromResource(this, R.array.blank_array, android.R.layout.simple_spinner_item);
if(category.equals("Temperature"))
adapter2 = ArrayAdapter.createFromResource(this, R.array.convertUnitTemperature_array, android.R.layout.simple_spinner_item);
else if(category.equals("Pressure"))
adapter2 = ArrayAdapter.createFromResource(this, R.array.convertUnitPressure_array, android.R.layout.simple_spinner_item);
else if(category.equals("Volume"))
adapter2 = ArrayAdapter.createFromResource(this, R.array.convertUnitVolume_array, android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
inputUnit.setAdapter(adapter2);
convertTopic.setOnItemSelectedListener(new OnTopicSelectedListener());
}
}
У меня также есть отдельный класс, который обрабатывает мой первый выбор прядильщика.
public class OnTopicSelectedListener implements OnItemSelectedListener{
String category = MySingleton.getInstance().getCategory();
protected DataStorage appState;
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
if(parent.getItemAtPosition(pos).toString().length() != 0){
Toast.makeText(parent.getContext(), "Working with " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
category = parent.getItemAtPosition(pos).toString();
MySingleton.getInstance().setCategory(category);
}
@SuppressWarnings("rawtypes")
public void onNothingSelected(AdapterView parent){
// Do nothing.
}
}
Моя проблема довольно проста, но я не нашел ее решения.Всякий раз, когда начинается эта деятельность, все остается пустым, как и ожидалось.Однако всякий раз, когда кто-либо выбирает параметр из основного счетчика convertTopic , второй счетчик не будет обновляться.
Единственный способ обновить второй счетчик - это вернуться к предыдущему действию и вернуться к действию преобразования.Основной счетчик снова будет пустым, но второй счетчик обновится.
Я хочу сделать так, чтобы второй счетчик обновлял выбор, как только пользователь выбирает что-то из основного счетчика.Есть ли какой-нибудь метод, который я мог бы использовать, чтобы сделать это?Есть ли какие-либо проблемы?
Я прошу прощения, если мой вопрос не ясен.Я впервые задаю вопрос на этом сайте.