user10635007
user10635007

Reputation: 57

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

Upvotes: 0

Views: 43

Answers (1)

guipivoto
guipivoto

Reputation: 18677

I guess the error is happening because you are using String objects as key. 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

Upvotes: 2

Related Questions