2012-12-30 58 views
0

我創建一個啓動畫面(以.jpg格式)充滿整個屏幕,按下時開始一個新Activity。 現在的應用程序崩潰時,我引用的ImageView我的問題是。創建參考的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

您還沒有發佈您的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)

+0

你的答案是完全正確的,它似乎相當邏輯,但我從來沒有讀過一些有關的順序。感謝您的超高速和精確的答案! –

+0

不麻煩,這是一個常見的錯誤,而人在學習的Android。對於'findViewById()的文檔'應該更明確的... – Sam