我尝试将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);
}
但是当我点击按钮时,活动会自动关闭并带我回到主启动器活动。
如何做到这一点没有任何问题?
答案 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");