我有两个活动:一个是我拍照,另一个是显示照片。
在相机活动结果上,我将位图设置为缓存图像,如下所示:
m.setImageBitmap(imageBitmap);
m.setDrawingCacheEnabled(true);
p=m.getDrawingCache();
然后在创建新Activity的intent时,我传递了这个位图:
Intent intent = new Intent(this, shopList.class);
intent.putExtra("data", p);
startActivity(intent);
在新活动中,我设置了想要链接到新位图的imageview:
Bitmap p = (Bitmap) getIntent().getParcelableExtra("data");
ImageView m = (ImageView) findViewById(R.id.listA);
m.setImageBitmap(p);
但是当运行应用程序时,它会在尝试将imageview设置为新位图时崩溃并发出以下错误:
尝试调用虚方法'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)'上一个 null对象引用
我不确定为什么这样做,因为初始相机活动结果会正确显示照片。
感谢任何帮助。
编辑: 我想要设置的第二个活动imageview的XML是:
<ImageView
android:id="@+id/listA"
android:layout_width="97dp"
android:layout_height="90dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.019"
app:srcCompat="@mipmap/ic_launcher" />