2012-03-19 103 views
0

我正在开发播放视频应用程序并拍摄运行视频的屏幕截图,并在下一个活动中显示屏幕截图,我正在播放视频并截取屏幕截图,而且我无法在下一个活动中显示屏幕截图请检查我的代码并给我更改。将屏幕截图从一个活动显示到另一个活动

BitmapDrawable bitmapDrawable = new BitmapDrawable(bm); 
     image = (ImageView) findViewById(R.id.ImageView01); 
    // image.setBackgroundDrawable(bitmapDrawable); 

     String bitmap = image.toString(); 

     System.out.println("Image getting++++++ : " + bitmap); 

     Intent intent = new Intent(VideoDemo.this, ScreenshotView.class); 
     intent.putExtra("BitmapImage", bitmap); 

     startActivity(intent); 
public class ScreenshotView extends Activity 
{  private String filename; 
     private ImageButton back; 


    private ImageView screenshot; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.screenshot); 

     screenshot =(ImageView)findViewById(R.id.screen); 
     back = (ImageButton)findViewById(R.id.backbutton); 
     back.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View arg0) { 
       finish(); 
      } 
     }); 

      System.gc(); 
      Intent i = getIntent(); 
      Bitmap bitmap = (Bitmap) i.getParcelableExtra("BitmapImage"); 
     screenshot.setImageBitmap(bitmap); 
    } 
} 
+0

将位图设置为静态或将位图转换为字节数组,然后使用捆绑包传递该字节数组 – 2012-03-19 07:30:29

回答

0

你可以试试下面的代码,让我知道你是否修复它。

发送对象

这是将对象从一个发送到其他类的代码。发送Object的一件重要的事情是该类应该实现Serializable类。

下面的红色文字应该是相同的。

//MainActivity.java 
Intent i = new Intent(MainActivity.this,startActivity.class); 
ObjectClassName object = new ObjectClassName(); 
i.putExtra("THIS", Object); 

接收对象

// startActivity.java 
Intent i = getIntent(); 
ObjectClassName obj = (ObjectClassName) getIntent().getSerializableExtra("THIS");// 

类型转换需要

1

这里你的 “位图” 的对象是一个字符串。 并且您正在将字符串对象传递给下一个活动。 这就是为什么你无法在ImageView截图中设置图像的原因。

相关问题