简体   繁体   English

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

[英]Why am I getting this error after I use intent?

I'm getting the error "Variable 'hour' might not have been initialized", and I'm getting that same error for hour,tenMin, min, and ampm. 我收到错误“变量'hour'可能尚未初始化”,并且我在hour,tenMin,min和ampm中遇到了同样的错误。 I used intent to get these variables from another class, and I'm not sure what the issue is. 我曾经打算从另一个类中获取这些变量,但不确定是什么问题。 Thank you in advance. 先感谢您。

I've tried making the variables on the first class final, but that didn't do anything. 我试过在第一堂课的决赛上做这些变量,但这没做任何事情。

This is where I'm getting the errors: 这是我得到错误的地方:

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

This is where I'm getting the variables from: 这是我从中获取变量的地方:

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

I guess the error is happening because you are using String objects as key. 我猜该错误正在发生,因为您使用String对象作为键。 However, as your code is now, those objects may be null/not initialized. 但是,就像您现在的代码一样,这些对象可能为空/未初始化。

I think you should change your code as follows: 我认为您应该按以下方式更改代码:

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

And

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

This way, you are going to use constant Strings as key 这样,您将使用常量Strings作为键

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM