如何从另一个活动的字符串设置图像

时间:2015-08-26 08:16:39

标签: android

我尝试从另一个活动的字符串中设置图片。

我在MainActivity上的字符串

public static String imagee; // -- this is out of onCreate

    capeMod.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0)
    {

        MainActivity.imagee = "drawable/pc";
        Intent intent = new Intent(context, ModActivity.class);
        startActivity(intent);   

    }

    });

另一项活动:(是的,这是完全错误的。)

String imagee = MainActivity.imagee;

  private void showImage() {
  // int imageResource = R.drawable.icon;
  int imageResource = getResources().getIdentifier(imagee, null, getPackageName());
  Drawable imagee = getResources().getDrawable(imageResource);
  image.setImageDrawable(image);
 }

我可以从另一个活动的字符串中设置TextView,但无法设置ImageView。我可以解决问题吗?

2 个答案:

答案 0 :(得分:1)

您可以使用Intent.putExtra()发送数据和String,也可以使用Activity使用Intent.getExtras()来接收数据。阅读更多here

答案 1 :(得分:-1)

你应该使用这样的东西:

假设您可以像使用静态字符串一样访问字符串值,请使用resources:

Resources res = getResources();
String imageName= MainActivity.imagee;
int resID = res.getIdentifier(imageName, "drawable", getPackageName());
Drawable drawable = res.getDrawable(resID );
image.setImageDrawable(drawable);

编辑:即使它有效,访问值的正确方法也不是通过 static 方式,最好通过 Intents putExtra :)