位图,nullpointerexception
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位图,nullpointerexception相关的知识,希望对你有一定的参考价值。
我正在尝试编写将图片转换为黑白图片的程序。我遇到了一个问题,并搜索了相同的问题,但我没有找到适合我的解决方案。这是代码:
public class MainActivity extends AppCompatActivity {
ImageView image;
Drawable drawable;
Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.imageView);
bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap(); **// Here is line that error occur**
image.setImageBitmap(converter(bitmap));
}
public Bitmap converter(Bitmap first) {
Bitmap end = Bitmap.createBitmap(first.getWidth(),
first.getHeight(),
first.getConfig());
堆栈跟踪:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Bitmap android.graphics.drawable.BitmapDrawable.getBitmap()' on a null object reference
at com.example.murat.giveeffect.MainActivity.onCreate(MainActivity.java:26)
答案
您将ImageView的位图drawable设置为background
属性
android:background="@drawable/clip"
而不是src
。
因此,通过将background属性替换为android:src
来更改资源文件(activity_main.xml):
android:src="@drawable/clip"
以上是关于位图,nullpointerexception的主要内容,如果未能解决你的问题,请参考以下文章
为啥这段代码不抛出 NullPointerException?
如何调试库代码中发生的 NullPointerException?
Android proguard 混淆代码实际上不应该导致 NullPointerException
GridWorld代码中间的NullPointerException [关闭]
handleStopActivity 中的 NullPointerException -- 在堆栈跟踪中没有引用我的代码
handleStopActivity 中的 NullPointerException -- 在堆栈跟踪中没有引用我的代码