Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在使用intent后会出现此错误?_Java_Android - Fatal编程技术网

Java 为什么在使用intent后会出现此错误?

Java 为什么在使用intent后会出现此错误?,java,android,Java,Android,我得到的错误是“变量'hour'可能尚未初始化”,对于hour、tenMin、min和ampm,我得到的是相同的错误。我使用intent从另一个类获取这些变量,我不确定问题出在哪里。先谢谢你 我试着在第一堂课的期末考试中加入变量,但没有任何效果 这就是我得到错误的地方: Intent intent=getIntent(); String hour=intent.getStringExtra(hour); String tenMin=intent.getStringExtra(tenMin); S

我得到的错误是“变量'hour'可能尚未初始化”,对于hour、tenMin、min和ampm,我得到的是相同的错误。我使用intent从另一个类获取这些变量,我不确定问题出在哪里。先谢谢你

我试着在第一堂课的期末考试中加入变量,但没有任何效果

这就是我得到错误的地方:

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);

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

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

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


这样,您将使用常量
字符串
作为键

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

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

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


这样,您将使用常量
字符串
作为键

这些键必须是字符串。。尽量使用“小时”、“十分钟”等。。对于Quotest,这些键必须是字符串。。尽量使用“小时”、“十分钟”等。。引用