Наличие различных возможных макетов - PullRequest
0 голосов
/ 09 декабря 2011

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

Я знаю, что значения проходят через отлично, но он не будет отображать макет (или любой макет, он просто остается на предыдущем экране).Мой код:

public class ContactDisplay extends GetContact {
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        Bundle extras = getIntent().getExtras();
        String nameChosen = extras.getString("nameSpinner");
       String addressChosen = extras.getString("addressSpinner");

        if((nameChosen == "Michael") && (addressChosen == "Michaels Address")){
            setContentView(R.layout.contact1_layout);
        }

    }
} 

Пока что я настроил его только с одним из макетов, но он должен работать, если выбран адрес Майкла и Майклза.Кто-нибудь знает, где я иду не так?

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Используйте этот код вместо:

   if((transportItemChosen.equals("Michael")) && (locationItemChosen.equals("Michaels Address"))){
        setContentView(R.layout.contact1_layout);
    }

В Java вы хотите использовать функцию equals () при сравнении строк, а не оператор ==.

0 голосов
/ 09 декабря 2011

Первая мысль состоит в том, что я постараюсь не использовать жестко закодированные значения для статистов, потому что вы можете что-то неправильно написать и очень легко застрять ... если это не проблема, попробуйте сделать несколько журналов и посмотреть, чтоточно вы получаете в transportItemChosen и locationItemChosen

РЕДАКТИРОВАТЬ:

И да, для сравнения двух Objects вы должны использовать equals() метод, а не оператор ==.

...