2012-09-20 2 views
0

내 응용 프로그램 스플래시 화면이 한 이미지가 페이드 인하 고 다른 이미지가 페이드 인되도록 설정 한 다음 두 번째 이미지가 사라지면 내 기본 작업을 시작하도록 설정됩니다.Android; 응용 프로그램이 중지되었습니다. 간단한 애니메이션 오류

두 번째 이미지의 페이드 인이 거의 끝나면 충돌이 발생합니다.

다음은 내 SplashScreen 활동입니다.

package com.example.gymbuddy; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.animation.Animation; 
import android.view.animation.Animation.AnimationListener; 
import android.view.animation.AnimationUtils; 
import android.widget.ImageView; 

public class SplashScreen extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_splashscreen); 

    ImageView gym = (ImageView) findViewById(R.id.imageView1); 
    Animation fade1 = AnimationUtils.loadAnimation(this, R.anim.gym); 
    gym.startAnimation(fade1); 

    ImageView buddy = (ImageView) findViewById(R.id.imageView2); 
    Animation fade2 = AnimationUtils.loadAnimation(this, R.anim.buddy); 
    buddy.startAnimation(fade2); 
     fade2.setAnimationListener(new AnimationListener() { 

      public void onAnimationStart(Animation animation) { 

      } 

      public void onAnimationEnd(Animation animation) { 
       Intent intent = new Intent(SplashScreen.this, Main.class); 
       SplashScreen.this.startActivity(intent); 
       SplashScreen.this.finish(); 
      } 

      public void onAnimationRepeat(Animation animation) { 

      } 
     }); 
} 

@Override 
public void onPause() { 
    ImageView gym = (ImageView) findViewById(R.id.imageView1); 
    gym.clearAnimation(); 

    ImageView buddy = (ImageView) findViewById(R.id.imageView2); 
    buddy.clearAnimation(); 

} 

} 
+0

우리에게 로그 캣이나 충돌의 스택 트레이스를 제시해주십시오. – Stericson

답변

0

나는 두 가지 중 하나라고 생각합니다.

어느 Main.class가이

또는

Main.class가

가 활동으로 매니페스트에 선언되지 존재하지 않습니다.

당신은 당신의 매니페스트에 이런 일이 있어야합니다

<activity android:name=".Main" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
</activity> 
+0

그래도. 나는 onAnimationEnd를 다루는 코드의 전체 덩어리를 꺼내 버렸습니다. Intent intent = new Intent (SplashScreen.this, Main.class); SplashScreen.this.startActivity (intent); SplashScreen.this.finish(); 이제 곧 Main.Class (애니메이션이 끝나기를 기다리지 않아서 예측할 수 있습니다.) 이것은 내 의도와 클래스 필드가 올바르게 작동하는지 확인하기위한 것입니다. –

+0

또한 onPause()를 꺼 냈습니까? 어쩌면 문제가 있습니다 ... logcat 또는 stacktrace를 사용하면 문제를 정확히 찾아 낼 수 있습니다. – Stericson

+0

나는 onPause()를 꺼 냈고 모든 것이 지금 작동 중입니다! 고맙습니다! 이유가 누구인지 설명 할 수 있습니까? 사용자가 애니메이션 중에 집에 클릭하면 어떻게됩니까? –

관련 문제