我试图显示一个活动的图像,但我有几个可供选择。所以我使用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);
}
有人可以告诉我我做错了什么,并建议一个更好的方法。
答案 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
和==