如何解决我需要帮助将字符串转换为整数
美好的一天, 我的 AndroidStudio 项目的 Activity1 中有一个数组适配器。我想将两个特定项目从 ArrayAdapter(在位置 1 和 2)转移到 Activity2 有意图。 (ArrayAdapter 连接到editTextNumber)如果我然后在TextView 中显示这两个项目,效果很好。但是如果我想将项目转换为 int,应用程序总是崩溃。我可以以某种方式将“message1”转换为 int。为什么? 感谢您的帮助
(活动 1): [...]
@Override
protected void onCreate(Bundle savedInstanceState) {
ArrayAdapter adapterzeit = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,zeit1);
Intent intent = new Intent(this,Activity2.class);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent.putExtra("EXTRA_MESSAGE1",adapterzeit.getItem(1).toString());
intent.putExtra("EXTRA_MESSAGE2",adapterzeit.getItem(3).toString());
startActivity(intent);
}
});
}
(活动 2):
[...]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer);
Intent intent = getIntent();
String message1 = intent.getStringExtra("EXTRA_MESSAGE1");
String message2 = intent.getStringExtra("EXTRA_MESSAGE2");
int numberInt = Integer.parseInt(message1);
int number2 = Integer.parseInt(message2);
}
}
解决方法
您可以像这样将额外的内容添加到 Intent
中:
intent.putExtra("EXTRA_MESSAGE1",adapterzeit.getItem(1).toString());
然后您尝试像这样从 Intent
中提取它:
String message1 = intent.getStringExtra("EXTRA_MESSAGE");
您为键使用了不同的字符串值! EXTRA_MESSAGE != EXTRA_MESSAGE1
这就是为什么你应该总是对这些事情使用常量定义的原因之一,那么你就不会遇到这个问题。例如,在 Activity1
中:
public static final String EXTRA_MESSAGE1 = "EXTRA_MESSAGE1";
intent.putExtra(EXTRA_MESSAGE1,adapterzeit.getItem(1).toString());
然后在 Activity2
中:
String message1 = intent.getStringExtra(Activity1.EXTRA_MESSAGE1);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。