开发者

Android Intent getExtras

I am passing values betwe开发者_Python百科en two activities and fetching the values like this:

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");
    }

the problem is I can see the values being retrieved in the debug window by adding watch to the variables but when the compiler enters the statement if(isFollow=="true"), the condition fails. The else case is also not dealt with. What else do i need to do to ensure that my if condition is satisfied properly?


You should use

isFollow.equals("true")

in your statements.


If String type of data is put in bundle then Try with the following code

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");
    }

If Boolean type of data is put in bundle then Try with the following code

 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");
        }


You need to test either isFollow.equals("true") or if it is a boolean and not a string, either isFollow == true or just plain isFollow

(note the no quotes on the second one)


I know this is a really late answer but it would be better to do this if you are passing a Boolean into the intent from the sender:

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

if(isFollow) { 
  //Do stuff
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜