简要解释发生了什么。我想更新单个imageView以将其更改为不同名称的可绘制图像。这里只有四个选择,这是因为我从一个旋转器中提取数据,该旋转器可以从另一个活动中选择4个国家。然后,这会将imageView更改为所述国家/地区的自定义可绘制图像。
到目前为止,我不确定我将如何做到这一点,尝试了一些非常基本的if else语句,但它们非常不正确。
我将在下面发布一些内容:
public class WorldImage extends AppCompatActivity {
TextView textCountry;
private String stringCountry;
ImageView imageCountry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_worldimage);
Intent aIntent = getIntent();
stringCountry = aIntent.getStringExtra("movetoImageActivity");
textCountry= (TextView) findViewById(R.id.movetoviewCountry);
imageCountry = (ImageView) findViewById(R.id.imageCountry);
它在这附近我迷路了,一些非常基本的如果& else if语句,例如:
if (textCountry.getText().toString().equals("Europian Union"))
{
imageCountry.setImageResource(R.drawable.eu_flag);
}
这里会推荐什么?
答案 0 :(得分:1)
打印日志怎么样?
Intent aIntent = getIntent();
stringCountry = aIntent.getStringExtra("movetoImageActivity");
textCountry= (TextView) findViewById(R.id.movetoviewCountry);
imageCountry = (ImageView) findViewById(R.id.imageCountry);
Log.e("TEST", "stringCountry : " + stringCountry );
Log.e("TEST", "textCountry: " + textCountry.getText().toString());
if (stringCountry.equals("Europian Union")){
Log.e("TEST", "Europian Union");
imageCountry.setImageResource(R.drawable.eu_flag);
}else if (stringCountry.equals("Something else")){
Log.e("TEST", "Something else");
imageCountry.setImageResource(R.drawable.something);
}
答案 1 :(得分:0)
您可以使用这样的开关语句:
switch(stringCountry){
case "Europian Union":
imageCountry.setImageResource(R.drawable.eu_flag);
break;
case "United States":
imageCountry.setImageResource(R.drawable.us_flag);
break;
default:
// optional. Use if all comparisons above fail and you want to handle it
break;
}