Android Intent getExtras - PullRequest
       25

Android Intent getExtras

2 голосов
/ 21 июня 2011

Я передаю значения между двумя действиями и извлекаю значения следующим образом:

Bundle extras = getIntent().getExtras();
    if (extras != null)

    {
        initialUrl = extras.getString("initialUrl");
        isFollow = extras.getString("isFollow");
    }


    if (isFollow == "true") {
        editUrl.setText(initialUrl);
        setUpWebView(initialUrl);
    } else if (isFollow == "false") {
        editUrl.setText("http://www.google.com");
        setUpWebView("http://www.google.com");
    }

проблема в том, что я вижу значения, извлекаемые в окне отладки, добавляя наблюдение к переменным, но когда компиляторвводит оператор if (isFollow == "true"), условие не выполняется.В другом случае также не рассматривается.Что еще мне нужно сделать, чтобы убедиться, что мое условие выполнено правильно?

Ответы [ 4 ]

2 голосов
/ 21 июня 2011

Вы должны использовать

isFollow.equals("true")

в ваших заявлениях.

1 голос
/ 21 июня 2011

Если данные типа String помещены в связку, попробуйте следующий код

String isFollow = null;    
Bundle extras = getIntent().getExtras();
    if (extras != null)

    {
        initialUrl = extras.getString("initialUrl");
        isFollow = extras.getString("isFollow");
    }
if (isFollow.equals("true")) {
        editUrl.setText(initialUrl);
        setUpWebView(initialUrl);
    } else if (isFollow.equals("false")) {
        editUrl.setText("http://www.google.com");
        setUpWebView("http://www.google.com");
    }

Если данные булевого типа помещены в связку, попробуйте следующий код

 boolean isFollow = null;    
    Bundle extras = getIntent().getExtras();
        if (extras != null)

        {
            initialUrl = extras.getString("initialUrl");
            isFollow = extras.getBoolean("isFollow");
        }
    if (isFollow) {
            editUrl.setText(initialUrl);
            setUpWebView(initialUrl);
        } else {
            editUrl.setText("http://www.google.com");
            setUpWebView("http://www.google.com");
        }
0 голосов
/ 08 мая 2013

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

Boolean isFollow = extras.getBoolean("isFollow");

if(isFollow) { 
  //Do stuff
}
0 голосов
/ 21 июня 2011

Вам нужно проверить либо isFollow.equals("true") или, если это логическое значение, а не строка, либо isFollow == true или просто isFollow

(обратите внимание на отсутствие кавычек на втором)

...