2012-12-30 3 views
0

전체 화면을 채우는 스플래시 화면 (새로 고침을 누르면 Activity이 시작됨)이 생성됩니다. 내 문제는 ImageView를 참조 할 때 응용 프로그램이 다운되는 것입니다.ImageView에 대한 참조를 작성하면 응용 프로그램이 손상됩니다.

내 Welcomescreen.java 클래스 다음 된 .java 클래스의 주석 라인에서

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

응용 충돌 : 여기

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 파일입니다. 줄을 지우면 모든 것이 잘되지만 아무런 이미지도 보이지 않습니다.

답변

1

당신은 당신의 로그 캣 오류를 게시하지 않은,하지만 당신은findViewById() 전에 setContentView()를 호출해야합니다 : 말하자면 충돌 왜 당신이 표시

// 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

사람들이 안드로이드를 배우는 동안 아무런 문제가 발생하지 않습니다. 'findViewById()'에 대한 문서는 좀 더 명확해야합니다 ... – Sam

관련 문제