我目前正在尝试跨活动传递字符串。该字符串用于在第二个活动中设置图像。因此,用户在第一个活动中单击一个按钮,然后根据选择的内容在第二个活动中加载适当的图像。第一个活动中有三个按钮,它们都应该向下一个活动发送一个字符串值。
这是我在第一个活动中的内容:
Button archerButton = (Button) findViewById(R.id.Button_Archer);
archerButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String selection = "archer";
Bundle basket = new Bundle();
basket.putString("key", selection);
Intent i = new Intent(SelectCharacterActivity.this, LevelOneActivity.class);
i.putExtras(basket);
startActivity(i);
finish();
}
});
}
接收活动具有以下代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.level_one);
ImageView img = (ImageView) findViewById(R.id.Character_Chosen);
Bundle extras = getIntent().getExtras();
String Toon = extras.getString("key");
if(Toon=="archer"){
img.setImageResource(R.drawable.archer);
}
if(Toon=="mage"){
img.setImageResource(R.drawable.mage);
}
if(Toon=="warrior"){
img.setImageResource(R.drawable.warrior);
}
}
我知道接收 if 语句部分有效,因为如果我手动设置值 Toon 图像将加载。因此,某处信息未正确发送或读取。我在网上遵循了一个教程,但对此感到困惑。