Java 从url将图像设置为壁纸(Glide+;json)
嗨,提前感谢那些指导我的人 我对设置的墙纸有一个问题,当我单击按钮时,出现以下错误: 2018-12-2822:36:02.80113030-13030/?E/AndroidRuntime:致命异常:主 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat,int,java.io.OutputStream)” 我把文件留着用Java 从url将图像设置为壁纸(Glide+;json),java,android,set,android-glide,wallpaper,Java,Android,Set,Android Glide,Wallpaper,嗨,提前感谢那些指导我的人 我对设置的墙纸有一个问题,当我单击按钮时,出现以下错误: 2018-12-2822:36:02.80113030-13030/?E/AndroidRuntime:致命异常:主 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat,int,java.io.OutputStr
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:id="@+id/thumbnail2"
android:padding="5dp">
<TextView
android:id="@+id/txtclose"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="end"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/circulo"
android:gravity="center"
android:text="@string/equis"
android:textColor="@android:color/background_light"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="end">
<Button
android:id="@+id/btn"
android:layout_width="159dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:layout_marginBottom="25dp"
android:background="@drawable/borde_redondo"
android:text="Establecer como Fondo de Pantalla"
android:textColor="#ffffff" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
总之,我需要的是,当您单击按钮时,显示的图像被设置为墙纸,正如我所看到的,您没有使用完整路径解码位图。您需要获得完整的路径名,如:
String uri = Environment.getExternalStorageDirectory().toString() + "/" + PHOTO_DIR + "/test.jpg";
之后:
Bitmap bitmap = BitmapFactory.decodeFile(uri);
你好,艾库特。我做了您的更改,当我单击按钮时,应用程序关闭,日志显示以下内容:java.lang.NullPointerException:在空对象引用com.vinotintoplayer.wallperhd4k.infoanimales.setwallper(infoanimales.java:87)上尝试{manager.setBitmap(位图);
String uri = Environment.getExternalStorageDirectory().toString() + "/" + PHOTO_DIR + "/test.jpg";
Bitmap bitmap = BitmapFactory.decodeFile(uri);