imageView.setImageBitmap在android中不起作用

时间:2012-10-07 23:41:20

标签: android android-layout

由Emil thx解决 我在我的主要内容中关注

package com.example.surfacetest;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //requestWindowFeature(Window.FEATURE_NO_TITLE);
        //this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,     WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        ImageView img = (ImageView) findViewById(R.drawable.hero_frame);
        img.setImageBitmap(BitmapFactory.decodeResource(this.getResources(),R.drawable.chen_gong));

    }

}
`

在xml文件中我有

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/hello_world"
    tools:context=".MainActivity" />
<ImageView
    android:id="@+id/hero1"
    android:maxWidth="100dp"
    android:maxHeight="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:layout_marginLeft="5.33dp"
    />
<ImageView
    android:id="@+id/hero2"
    android:maxWidth="100dp"
    android:maxHeight="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:layout_marginLeft="5.33dp"
    android:layout_toRightOf="@id/hero1"
    />

我有什么遗漏,过去两天我在这个问题上工作过,在互联网上找不到任何解决办法,或者我错过了。请帮助。

2 个答案:

答案 0 :(得分:3)

问题出在这一行:

    ImageView img = (ImageView) findViewById(R.drawable.hero_frame);

您需要传递想要查找的ImageView的ID,目前您可能会收到NullPointerException,因为无法找到img,请尝试以下操作:

    ImageView img = (ImageView) findViewById(R.id.hero1);

答案 1 :(得分:1)

试试这个;

image.setImageResource(R.drawable.chen_gong);

或直接从xml布局添加行ImageView标记:

android:src="@drawable/chen_gong"