Sarah
Sarah

Reputation: 63

cant get the intent extras

I used putextras to send data to other page

 Intent i = new Intent(Camerapage.this, Camera2.class);
      i.putExtra("mood","happy");
      i.putExtra("anger","anger");
      i.putExtra("fear","fear");
      startActivity(i);

and when i receive it

 mood.setText(intent.getStringExtra("mood"));
        happy.setText(String.valueOf(intent.getIntExtra("happiness",1)));
        fear.setText(String.valueOf(intent.getIntExtra("fear",1)));
         anger.setText(String.valueOf(intent.getIntExtra("anger",1)));

i tried to comment to know where it does crash ... it handels the "mood" value but it crashes when i ask for anger and fear ...

Upvotes: 1

Views: 110

Answers (4)

Jorgesys
Jorgesys

Reputation: 126445

At this line you are receiving a String:

 mood.setText(intent.getStringExtra("mood"));

But in this lines a String too, but you are tryin to get the values with getIntExtra() !

  happy.setText(String.valueOf(intent.getIntExtra("happiness",1)));
  fear.setText(String.valueOf(intent.getIntExtra("fear",1)));
  anger.setText(String.valueOf(intent.getIntExtra("anger",1)));

try changing this lines using getStringExtra():

  mood.setText(intent.getStringExtra("mood"));
  happy.setText(intent.getStringExtra("happiness"));
  fear.setText(intent.getStringExtra("fear"));
  anger.setText(intent.getStringExtra("anger"));

and remember you are missing to send the happiness value from your intent

 i.putExtra("happines",":)");

Upvotes: -1

Jorgesys
Jorgesys

Reputation: 126445

Change to getStringExtra() :

   mood.setText(intent.getStringExtra("mood"));
   happy.setText(intent.getStringExtra("happiness"));
   fear.setText(intent.getStringExtra("fear"));
   anger.setText(intent.getStringExtra("anger"));

Upvotes: 0

Idva
Idva

Reputation: 194

The happiness variable is is never set

happy.setText(String.valueOf(intent.getIntExtra("happiness")));

Also, you are sending String values, so use getStringExtra() instead of getIntExtra()

Upvotes: 0

eddykordo
eddykordo

Reputation: 607

Try this

mood.setText(intent.getStringExtra("mood"));
    happy.setText(String.valueOf(intent.getStringExtra("happiness")));
    fear.setText(String.valueOf(intent.getStringExtra("fear")));
     anger.setText(String.valueOf(intent.getStringExtra("anger")));

Upvotes: 2

Related Questions