getIntent()不适用于android中的if语句

时间:2018-01-29 20:47:49

标签: java android android-intent

我试图显示一个活动的图像,但我有几个可供选择。所以我使用if语句来判断基于字符串显示哪个,我的问题是从第一个活动中检索到的字符串。

这是将字符串发送到其他活动的代码(代码的一部分);

        details.putExtra("des", des);
        details.putExtra("name", name);
        startActivity(details);

这些是在图像视图中检索和设置图像的代码(部分代码);

    username.setText(intent.getStringExtra("name"));
    description.setText(intent.getStringExtra("des"));

    if (intent.getStringExtra("name").equals("Sheilla")) {
        image.setImageResource(R.drawable.sis);
    }

如果我这样做,图像不会显示但是如果我尝试像

那样会显示
    if(true){
        image.setImageResource(R.drawable.sis);
    }

有人可以告诉我我做错了什么,并建议一个更好的方法。

2 个答案:

答案 0 :(得分:0)

使用此

        Intent intent = getIntent();

然后读取值

if (intent.getStringExtra("name").equals("Sheilla")) {
    image.setImageResource(R.drawable.sis);
}

尝试阅读值

答案 1 :(得分:-1)

你试过这个吗?

    if (intent.getStringExtra("name").trim().equalsIgnoreCase("Sheilla") || intent.getStringExtra("name").trim() == "Sheilla") {
       image.setImageResource(R.drawable.sis); 
     }

此代码为if语句添加了一些额外的验证,因为有时在Java equals中有效,有时则不然。因此,您必须设置2个条件,例如equals==