如何根据使用i.putExtra发送的字符串设置图像?

时间:2012-05-20 15:37:13

标签: android image android-intent imageview

我想将recipe_button_list.java发送到recipe_display_screen.java的图像, 我当前的代码突出显示了我的代码中的错误...

这是在recipe_button_list中发送图像的方式:

Intent i= new Intent(getBaseContext(),recipedisplayscreen.class);
            //Sending data to the next screen
            i.putExtra("textView1", inputIngredients1.getText().toString());
            i.putExtra("textView2", inputMethod1.getText().toString());
            i.putExtra("image_string",R.drawable.blustudios);

            Log.e("n", inputMethod1.getText()+"."+ inputIngredients1.getText());

这是在recipe_display_screen中收到图片的方式:

Intent i = getIntent();
    String Ingredients = i.getStringExtra("textView1");
    String Method = i.getStringExtra("textView2");
    String RecipeImage = i.getStringExtra("image_string");

这就是它的设置方式(给出错误(突出显示setImageResource)

        MethodDisplay.setText(Method);
    IngredientsDisplay.setText(Ingredients);
    RecipeDisplay.setImageResource(RecipeImage);

我的错误是什么???

提前致谢:P

2 个答案:

答案 0 :(得分:2)

R.drawable.blustudios不是String。自动生成的R.java类包含实际上是资源ID的整数。

更改此行...

String RecipeImage = i.getStringExtra("image_string");

......对此...

int RecipeImage = i.getIntExtra("image_string", 0);

答案 1 :(得分:0)

您无法将图像作为字符串发送。 您可以使用SerializedParcable

我知道位图已经是parcable,也许ImageView是parcable也检查出来。 如果不是,只需将ImageView保存为位图并发送即可。

无论是哪种情况都使用setParcableExtra()和get。

相同

您显然不了解在活动之间传递数据的概念。 查看This问题,您可能会从中找出答案。