使用意图后为什么会出现此错误?

时间:2019-07-11 20:36:01

标签: java android

我遇到错误“变量'hour'可能尚未初始化”,并且我在hour,tenMin,min和ampm上遇到相同的错误。我曾经打算从另一个类中获取这些变量,但不确定是什么问题。预先谢谢你。

我尝试过在第一堂课的决赛上做这些变量,但这没做任何事情。

这是我得到错误的地方:

Intent intent=getIntent();
String hour=intent.getStringExtra(hour);
String tenMin=intent.getStringExtra(tenMin);
String min=intent.getStringExtra(min);
String ampm=intent.getStringExtra(ampm);

这是我从以下位置获取变量的地方:

EditText editText=findViewById(R.id.editText);
EditText editText2=findViewById(R.id.editText2);
EditText editText3=findViewById(R.id.editText3);
EditText editText4=findViewById(R.id.editText4);

String hour=editText.getText().toString();
String tenMin=editText2.getText().toString();
String min=editText3.getText().toString();
String ampm=editText4.getText().toString();

Intent intent=new Intent(NewAlarm.this,MainActivity.class);
intent.putExtra(hour,hour);
intent.putExtra(tenMin,tenMin);
intent.putExtra(min,min);
intent.putExtra(ampm,ampm);

1 个答案:

答案 0 :(得分:2)

我猜发生了错误,因为您使用String对象作为键。但是,就像您现在的代码一样,这些对象可能为null /未初始化。

我认为您应该按以下方式更改代码:

Intent intent=getIntent();
String hour=intent.getStringExtra("hour");
String tenMin=intent.getStringExtra("tenMin");
String min=intent.getStringExtra("min");
String ampm=intent.getStringExtra("ampm");

intent.putExtra("hour",hour);
intent.putExtra("tenMin",tenMin);
intent.putExtra("min",min);
intent.putExtra("ampm",ampm);

这样,您将使用常量Strings作为键

相关问题