创建对ImageView的引用会导致应用程序崩溃

时间:2012-12-30 21:23:56

标签: java android crash imageview

我正在创建一个闪屏(.jpg格式),它会填满整个屏幕,按下时会启动一个新的Activity。 我的问题是,当我引用ImageView时,应用程序崩溃了。

我的Welcomescreen.java类:

public class Welcomescreen extends Activity implements OnClickListener {

ImageView wd;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //PROGRAMM CRASHES IN THIS LINE
    wd = (ImageView) this.findViewById(R.id.lwd);   

    // Fullscreen
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.welcomescreen);

    // when Image is clicked
    wd.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.welcomescreen, menu);
    return true;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()){
    case R.id.lwd:
        startActivity(new Intent("com.tm.talesof.MENU"));
        break;
    }
}

}

这是我的.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"
tools:context=".Welcomescreen">

<ImageView 
    android:src="@drawable/smalltest"
    android:id="@+id/lwd"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    />

</RelativeLayout>

应用程序在.java类的注释行崩溃。如果我删除该行,一切都很好但没有显示图像。

1 个答案:

答案 0 :(得分:1)

您尚未发布LogCat错误,但必须在 setContentView()之前致电findViewById()

// Fullscreen
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.welcomescreen);
wd = (ImageView) this.findViewById(R.id.lwd);   

我不确定为什么它会在你指示的情况下崩溃,但我知道在你第一次引用你的ImageView onCreate()时它会在wd.setOnClickListener(this)崩溃。