Тост не работает, не могу понять, почему нет - PullRequest
0 голосов
/ 10 декабря 2011

Итак, я пытаюсь написать действие, в котором есть два счетчика и кнопка, когда выбраны два счетчика и нажата кнопка, вы перейдете к другому действию. За исключением одной комбинации, которая должна давать тост, говорящий, что вы не можете этого сделать.

В любом случае, это код:

public void onClick(View v) {

              String spinnerchoice1 = ("spinner1Value");
              String spinnerchoice2 = ("spinner2Value");

              if((spinnerchoice1.equals("Walking")) && (spinnerchoice2.equals("Hiking"))){

                  Toast.makeText(getBaseContext(), "I'm sorry, this is not possible.", Toast.LENGTH_LONG).show();

              }else{

                  Intent i = new Intent(GetDirections.this.getApplicationContext(), DirectionDisplay.class);
                  i.putExtra("spinner1Value", transportSpinner.getSelectedItem().toString()); 
                  i.putExtra("spinner2Value", locationSpinner.getSelectedItem().toString());
                  GetDirections.this.startActivity(i);

              }

          }     

Может кто-нибудь сказать мне, где я иду не так?

Спасибо

Ответы [ 2 ]

9 голосов
/ 10 декабря 2011

Вы сравниваете две жестко закодированные строки, условие if никогда не выполнится.Измените код на:

public void onClick(View v) {
  String transport = transportSpinner.getSelectedItem().toString();
  String location = locationSpinner.getSelectedItem().toString();

  if ("Walking".equals(transport) && "Hiking".equals(location)) {
      Toast.makeText(getBaseContext(), "I'm sorry, this is not possible.", Toast.LENGTH_LONG).show();
  } else {
      Intent i = new Intent(GetDirections.this.getApplicationContext(), DirectionDisplay.class);
      i.putExtra("spinner1Value", transport); 
      i.putExtra("spinner2Value", location);
      GetDirections.this.startActivity(i);
  }
} 
1 голос
/ 10 декабря 2011

Если это ваш реальный код, тогда ваш if никогда не будет оцениваться как true, потому что вы устанавливаете в строки значения, которые не являются «Walking» и «Hiking»

, эти две строки:

String spinnerchoice1 = ("spinner1Value");
String spinnerchoice2 = ("spinner2Value");

должно быть что-то вроде этого (при условии, что ваш спиннер содержит только объекты String, а не какой-то другой тип):

String spinnerchoice1 = transportSpinner.getSelectedItem().toString();
String spinnerchoice2 = locationSpinner.getSelectedItem().toString();
...