0

我正在创建一个启动画面(.jpg 格式),它填满整个屏幕,按下时会启动一个新的 .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 类中的注释行崩溃。如果我删除该行,一切都很好,但没有显示图像。

4

1 回答 1

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);   

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

于 2012-12-30T21:26:39.710 回答