0

我一直在寻找整个stackoverflow以找到解决方案,但我还没有找到。所以现在我想说对不起,如果发现重复。既然我已经说了,让我们来看看一些代码和问题:

我正在尝试将一个加载ImageView到我的活动中,但我的 logcat 中不断收到一个漂亮的蓝色调试日志说"imageview == null"

if (imageview == null) { 
    Log.d(TAG, "imageview == null");
 } else {
    imageview.setImageBitmap(bm); }`

它只是检查 myImageView是否为空(如果不为空,则将图像设置到其中)。我尝试在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好几天了。现已修复

4

2 回答 2

2

您应该写入android:id="@+id/galleryPicture"xml 文件,而不是android:name="@+id/galleryPicture". 您创建的布局文件中没有 ID 为 galleryPicture 的视图。

于 2013-01-17T11:31:06.427 回答
0

尝试在 imageview 中设置android:id="@+id/galleryPicture"而不是设置图像,如下所示:android:name="@+id/galleryPicture"

<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...." />
于 2013-01-17T11:34:28.093 回答