То, что я пытаюсь сделать, это использовать оператор if, чтобы определить, какой элемент в моем счетчике выбран, а затем оттуда позволяют выбирать две разные радиокнопки и в зависимости от того, какая из них делает что-то другое.Выходные данные для TextView будут меняться в зависимости от того, какой элемент Spinner и какой переключатель выбран.У меня нет проблем с переключателями, и вывод будет зависеть от того, какая из них выбрана, но спиннер ничего не делает.Я могу выбрать любой элемент, и он будет иметь тот же вывод и игнорировать первое выражение if, касающееся счетчика, и просто использовать второе. Я подумал, что это сработало и перешел к остальной части моего приложения, затем вернулся и протестировал его, а теперь я вернулсявозвести в квадратЯ не хочу использовать OnItemSelectedListener, но я понимаю, что я, вероятно, пытаюсь сравнить элемент с вращателем неправильно.Для OnItemSelectedListener я бы использовал:
if (parent.getItemAtPosition(pos).toString().equals("1-17"))
, но я пытался сделать это внутри TextChangedListener и думал, что это будет работать, но я считаю, что счетчики действительно сбивают с толку.
Ниже приведен пример, которыйпохоже на то, что у меня есть только я не дома, поэтому я старался воссоздать его как можно больше.Я оставил исключение числового формата, которое у меня есть, из кода, потому что я не помню, как я это сделал, но мое приложение принудительно закрывалось, если число было введено, а затем удалено, поэтому я не думаю, что это необходимо для этого.
EditText et1;
Spinner age;
RadioGroup radio;
RadioButton male;
RadioButton female;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calc);
number = (EditText) findViewById(R.id.number);
tv1 = (TextView) findViewById(R.id.tv1);
male = (RadioButton) findViewById(R.id.male);
female = (RadioButton) findViewById(R.id.female);
radio = (RadioGroup) findViewById(R.id.radio);
age = (Spinner) findViewById(R.id.ageselect);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.age_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
age.setAdapter(adapter);
textEdit.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable editable)
{
int number = Integer.parseInt(number.getText().toString());
if (age.getItemAtPosition(0).toString().equals("1-17")){
if (male.isChecked()){
if (number == 40){
tv1.setText("60"); }}
if (female.isChecked()){
if (number == 40){
tv1.setText("50"); }}}
if (age.getItemAtPosition(1).toString().equals("18-20")){
if (male.isChecked()){
if (number == 40){
tv1.setText("65"); }}
if (female.isChecked()){
if (number == 40){
tv1.setText("55"); }}}
}
@Override
public void beforeTextChanged(CharSequence text, int start, int count, int after)
{
// Do Stuff
}
@Override
public void onTextChanged(CharSequence arg0, int start, int before, int count)
{
// Do Stuff
}
});
Буду признателен за любые рекомендации или ссылки, где я могу найти эту информацию.Я безуспешно искал вокруг, и этот прядильщик сводит меня с ума.Я готов просто отказаться от этого и использовать больше переключателей, но я не хочу загромождать свое приложение.Спасибо, ребята!