我收到错误“变量‘hour’可能尚未初始化”,并且在 hour、tenMin、min 和 ampm 上也收到相同的错误。我使用 Intent 从另一个类获取这些变量,但我不确定问题是什么。预先感谢您。
我尝试将第一类变量设置为final,但这没有任何作用。
这是我收到错误的地方:
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);
最佳答案
我猜发生错误是因为您使用 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);
这样,您将使用常量字符串
作为键
关于java - 为什么使用 Intent 后会出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56996940/