将位图从一个Activity传递到另一个Activity

时间:2015-01-04 18:05:57

标签: android android-activity bitmap textview

我尝试将TextView转换为Bitmap,并尝试通过单击按钮将其传递给另一个Activity。

我的代码是:

发送位图的活动:

 save.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
        View view0 = txt1.getRootView();  //txt1 is a TextView
        view0.setDrawingCacheEnabled(true);
        view0.buildDrawingCache();
        Bitmap bmp0 = Bitmap.createBitmap(view0.getDrawingCache());
        Intent in = new Intent(Meme_make.this,S_meme.class);
        in.putExtra("bm0" , bmp0);
        startActivity(in);
 }

接收位图的活动:

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sm);
    main1 = (ImageView) findViewById(R.id.imageView1);
    Bitmap bitmap = getIntent().getParcelableExtra("bm0");
    main1.setImageBitmap(bitmap);
}

但是当我点击按钮时,活动会自动关闭并带我回到主启动器活动。

如何做到这一点没有任何问题?

2 个答案:

答案 0 :(得分:1)

你有

in.putExtra("bm0" , bmp0);

Bitmap bitmap = getIntent().getParcelableExtra("bmp0");

特别是bm0 vs bmp0,你可能只是错过了一个p。 但一般来说,我也会将检索到的位图转换为位图

Bitmap bitmap = (Bitmap)getIntent().getParcelableExtra("bmp0");

答案 1 :(得分:0)

试试这段代码。 发送位图

Intent intent = new Intent(this, ActivityName.class);
intent.putExtra("Bitmap", bitmap);

检索位图

Bitmap bitmap = (Bitmap) getIntent().getParcelableExtra("Bitmap");