Android:不会加载ImageView

时间:2013-01-17 11:25:01

标签: android imageview android-xml

我一直在寻找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几天的问题。现在修复

2 个答案:

答案 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...." />