2017-03-17 8 views
-1

エラーを検索したとき、エラーの原因が見つかりました。しかし、私は自分のコードでエラーを見つけることができません。手伝って頂けますか?アクティビティを開始できませんComponentInfo {}:java.lang.NullPointerException

MainActivity.java

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Intent intent = new Intent(this,IntroActivity.class); 
    startActivity(intent); 
} 
} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout  xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="net.nevzatgunay.pathytest.MainActivity"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 

</android.support.constraint.ConstraintLayout> 

IntroActivity.java

public class IntroActivity extends AppIntro { 
@Override 
protected void onCreate(Bundle savedInstanceState){ 
    addSlide(SampleSlide.newInstance(R.layout.slide_1)); 
    addSlide(SampleSlide.newInstance(R.layout.slide_2)); 
    addSlide(SampleSlide.newInstance(R.layout.slide_3)); 

    showSkipButton(false); 
    setFadeAnimation(); 
} 

@Override 
public void onSkipPressed(Fragment currentFragment){ 
    super.onSkipPressed(currentFragment); 
    finish(); 
} 

@Override 
public void onDonePressed(Fragment currentFragment){ 
    super.onDonePressed(currentFragment); 
    finish(); 
} 

@Override 
public void onSlideChanged(@Nullable Fragment oldFragment, @Nullable Fragment newFragment){ 
    super.onSlideChanged(oldFragment,newFragment); 
} 
} 

また、私はslide_1、slide_2、slide_3のような3つのXMLファイルを持っています。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/colorPrimary"> 
<TextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:text="This is Slide 1" 
    android:textColor="#ffffff" 
    android:textSize="54sp" 
    android:gravity="center"/> 

</LinearLayout> 

logcat

java.lang.RuntimeException: Unable to start activity ComponentInfo{net.nevzatgunay.pathytest/net.nevzatgunay.pathytest.IntroActivity}: java.lang.NullPointerException 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                     at android.os.Handler.dispatchMessage(Handler.java:99) 
                     at android.os.Looper.loop(Looper.java:137) 
                     at android.app.ActivityThread.main(ActivityThread.java:5103) 
                     at java.lang.reflect.Method.invokeNative(Native Method) 
                     at java.lang.reflect.Method.invoke(Method.java:525) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                     at dalvik.system.NativeStart.main(Native Method) 
                     Caused by: java.lang.NullPointerException 
                     at com.github.paolorotolo.appintro.AppIntroBase.addSlide(AppIntroBase.java:389) 
                     at net.nevzatgunay.pathytest.IntroActivity.onCreate(IntroActivity.java:16) 
                     at android.app.Activity.performCreate(Activity.java:5133) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)  
                     at android.app.ActivityThread.access$600(ActivityThread.java:141)  
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)  
                     at android.os.Handler.dispatchMessage(Handler.java:99)  
                     at android.os.Looper.loop(Looper.java:137)  
                     at android.app.ActivityThread.main(ActivityThread.java:5103)  
                     at java.lang.reflect.Method.invokeNative(Native Method) 

答えて

0

あなたはaddSlide()を呼び出す前に、IntroActivityonCreate()からsuper.onCreate()を呼び出していません。例については、the library documentationを参照してください。

0

IntroActivityonCreate()機能でsuper.onCreate()に電話する必要があります。これは、アクティビティを初期化するために必要な、onCreate()関数の最初の行でなければなりません。そうでない場合は、@Overrideのアノテーションは無意味です。

関連する問題