我一直在寻找stackoverflow来寻找解决方案,但我还没有找到它。所以现在我想说,如果发现重复,我会后悔。现在我已经说过了,让我们得到一些代码和问题:
我正在尝试将ImageView
加载到我的Activity中,但我一直在我的logcat中获得一个漂亮的蓝色调试日志"imageview == null"
if (imageview == null) {
Log.d(TAG, "imageview == null");
} else {
imageview.setImageBitmap(bm); }`
只是检查我的ImageView
是否为null(如果不为null则将图像设置为它)。我尝试在onCreate
方法中加载它:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.confirmpicture);
String str = getIntent().getStringExtra("GalleryImage");
Log.i(TAG, "Got " + str + " from the intent");
Bitmap bm = BitmapFactory.decodeFile(str);
imageview = (ImageView) findViewById(R.id.galleryPicture);
if (bm != null) {
if (imageview == null) {
Log.d(TAG, "imageview == null");
} else {
imageview.setImageBitmap(bm);
}
} else {
Log.d(TAG, "Bitmap not decoded");
}
我的脑袋一直在问我:“你在xml文件中声明了ImageView,你这个傻瓜?”我一直在检查包含
的xml文件<ImageView
android:name="@+id/galleryPicture"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_below="@id/confirmText"
android:contentDescription="description comes here...." />
我的目标是API 8(Android 2.2),我一直在努力解决有关加载ImageView
几天的问题。现在修复
答案 0 :(得分:2)
您应该在xml文件中编写android:id="@+id/galleryPicture"
,而不是android:name="@+id/galleryPicture"
。在您创建的布局文件中没有带有id galleryPicture的视图。
答案 1 :(得分:0)
尝试设置android:id="@+id/galleryPicture"
而不是android:name="@+id/galleryPicture"
,并在imageview中设置图片如下:
<ImageView android:id="@+id/galleryPicture" <------ set proper id. android:layout_width="match_parent" android:layout_height="100dp" android:layout_below="@id/confirmText" android:background="@drawable/someimage" <------Set background android:contentDescription="description comes here...." />