Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将当前Android应用程序视图保存为图像时出现NullpointerException_Android_Image_View_Nullpointerexception_Jpeg - Fatal编程技术网

尝试将当前Android应用程序视图保存为图像时出现NullpointerException

尝试将当前Android应用程序视图保存为图像时出现NullpointerException,android,image,view,nullpointerexception,jpeg,Android,Image,View,Nullpointerexception,Jpeg,大家好,我的社区 在我的应用程序中,我希望有一个按钮,允许用户捕获当前视图 因此,我编写了以下面向的方法:: 根据LogCat,问题在于尝试创建jpeg时发生了NullPointerException。因此,方法container.getDrawingCache可能不起作用。在手机上生成文件。但大小为0字节且无可见图像。如果您能给我一些建议,我将不胜感激。我想位图b是空的,可以试试- public static Bitmap convertViewToBitmap(View view) {

大家好,我的社区

在我的应用程序中,我希望有一个按钮,允许用户捕获当前视图

因此,我编写了以下面向的方法::

根据LogCat,问题在于尝试创建jpeg时发生了NullPointerException。因此,方法container.getDrawingCache可能不起作用。在手机上生成文件。但大小为0字节且无可见图像。如果您能给我一些建议,我将不胜感激。我想位图b是空的,可以试试-

public static Bitmap convertViewToBitmap(View view) {
   Bitmap result = null;

   try {
      result = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.RGB_565);
      view.draw(new Canvas(result));
   }catch(Exception e) {}    
   return result;
}
试试看-

view.setDrawingCacheEnabled(true);
Bitmap = bm = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);

确保b不为空..这一行的用意是什么?container.findviewbydr.id.container;我不熟悉像这样使用findviewbyid,但常见的问题是当前集合视图中的R.id.container?可能适用吗?
view.setDrawingCacheEnabled(true);
Bitmap = bm = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);