gpt4 book ai didi

java - 关于 Android 中 putExtra 方法顺序的奇怪行为

转载 作者:行者123 更新时间:2023-11-29 19:25:19 25 4
gpt4 key购买 nike

我的应用要求用户输入字符串和颜色,并将其显示在新 Activity 中。当将字符串和整数从一个 Activity 传输到另一个 Activity 时,我发现如果 int 的 putExtra 低于字符串的 putExtra,则不会显示任何字符串,但如果 int 在顶部,则字符串将显示在具体颜色。

这是损坏的代码:

public void sendMessage(View view){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE,message);
intent.putExtra(EXTRA_MESSAGE,colorChoice);
startActivity(intent);
}

这是工作代码

public void sendMessage(View view){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE,colorChoice);
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}

我尝试切换 other_activity.java 中的 getExtras',但没有任何区别。这是由错误的编码引起的吗?或者它只是语言的怪癖,谢谢

最佳答案

您对这两个项目使用相同的 key 。为 colorChoicemessage 使用不同的键以获得正确的值。

在您的任一 Activity 中有静态常量:

public static final String EXTRA_MESSAGE = "extra_message";
public static final String EXTRA_COLOR_CHOICE = "extra_color_choice";

然后,使用它们来放置值:

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
intent.putExtra(EXTRA_COLOR_CHOICE, colorChoice);
startActivity(intent);

要检索,您可以使用相同的 EXTRA_MESSAGEEXTRA_COLOR_CHOICE 键读取值。

关于java - 关于 Android 中 putExtra 方法顺序的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com