2012-04-25 3 views
1

Как только мой экран заставки за 1000 мс, я получаю сообщение об ошибке «Приложение неожиданно остановилось. Повторите попытку». Кажется, что это действие, которое должно начинаться после того, как экран заставки не работает. перед заставкой все работало нормально. Logcat показывает следующую ошибку: «E/AndroidRuntime (5480): java.lang.RuntimeException: не удается запустить активность ComponentInfo {com.xxxxx.home/com.xxxxx.home.xxxxx}: java.lang.NullPointerException. Я верю проблема с моим Всплеск класса, но не может точно указать, где. Любое понимание будет высоко оценен.Деятельность после экрана заставки

общественный класс Всплеск расширяет активность {

private final int SPLASH_DISPLAY_LENGTH = 1000; 

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


    new Handler().postDelayed(new Runnable(){ 
     @Override 
     public void run() { 

      Intent openxxxxx = new Intent("com.xxxxx.home.XXXXX"); 
      startActivity(openxxxxx); 

     } 
    }, SPLASH_DISPLAY_LENGTH); 
} 

}

+2

зарегистрирован ли у вас весь класс активности в файле manifeast? – MAC

+0

Да ... Моя активность всплеска зарегистрирована в манифесте и установлена ​​в MAIN и LAUNCHER. Моя вторая активность была изменена на DEFAULT, и имя было установлено таким же, как имя в «намерении» – user1165694

ответ

3

Вот полный код, который вы можете использовать этот ,

package com.fsp.slideview; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.Window; 

public class ImageSplashActivity extends Activity { 
    /** 
    * The thread to process splash screen events 
    */ 
    private Thread mSplashThread; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.splash); 

     final ImageSplashActivity sPlashScreen = this; 

     mSplashThread = new Thread() { 
      @Override 
      public void run() { 
       try { 
        synchronized (this) { 
         wait(2000); 
        } 
       } catch (InterruptedException ex) { 
       } 

       finish(); 
       Intent intent = new Intent(); 
       intent.setClass(sPlashScreen, SlideMainActivity.class); 
       startActivity(intent); 
      } 
     }; 

     mSplashThread.start(); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent evt) { 
     if (evt.getAction() == MotionEvent.ACTION_DOWN) { 
      synchronized (mSplashThread) { 
       mSplashThread.notifyAll(); 
      } 
     } 
     return true; 
    } 
} 
+0

Ничего себе, это эпично. Отличный код. Работал. Спасибо @Aerrow – BENN1TH

+0

Я предполагаю, что SlideMainActivity - это анимированный слайд в представлении? – BENN1TH

+0

Извините, что я прихожу в это время, но кто-нибудь знает, как запустить приложение после брызгара для настольных приложений в java ??? –

Смежные вопросы