2016-09-26 8 views
-2

私はフラグメントを学習し始めたので、私のアプリケーションにNavigationDrawerを含めることができます。フラグメントを置換するとアプリケーションがクラッシュする

NavigationDrawerを設定してから、2つのFragments:MainFragment、GalleryFragmentを作成しました。私app_bar_mainで

私はfragment_containerを作った:

app_bar_main:この時点まで

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

</FrameLayout> 

私はアプリを起動することができ、それがエラーなしで動作しますが、NavigationDrawerがゼロ効果をHAAS。

MainAtivity:

MainFragment fragment = new MainFragment(); 
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); 
fragmentTransaction.replace(R.id.fragment_container, fragment); 
fragmentTransaction.addToBackStack(null); 
fragmentTransaction.commit(); 

DEBUG:

09/26 22:25:24: Launching app 
Cold swapped changes. 
$ adb shell am start -n "com.example.kasimir.schulplaner/com.example.kasimir.schulplaner.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D 
Waiting for application to come online: com.example.kasimir.schulplaner | com.example.kasimir.schulplaner.test 
Waiting for application to come online: com.example.kasimir.schulplaner | com.example.kasimir.schulplaner.test 
Connecting to com.example.kasimir.schulplaner 
I/art: Ignoring second debugger -- accepting and dropping 

ANDROIDMONITOR:

FATAL EXCEPTION: main 
                Process: com.example.kasimir.schulplaner, PID: 26444 
                java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kasimir.schulplaner/com.example.kasimir.schulplaner.MainActivity}: java.lang.RuntimeException: [email protected] must implement OnFragmentInteractionListener 
                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2456) 
                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539) 
                 at android.app.ActivityThread.access$900(ActivityThread.java:159) 
                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384) 
                 at android.os.Handler.dispatchMessage(Handler.java:102) 
                 at android.os.Looper.loop(Looper.java:152) 
                 at android.app.ActivityThread.main(ActivityThread.java:5507) 
                 at java.lang.reflect.Method.invoke(Native Method) 
                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                Caused by: java.lang.RuntimeException: [email protected] must implement OnFragmentInteractionListener 
                 at com.example.kasimir.schulplaner.MainFragment.onAttach(MainFragment.java:84) 
                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1043) 
                 at android.support.v4.app.BackStackRecord.setLastIn(BackStackRecord.java:838) 
                 at android.support.v4.app.BackStackRecord.calculateFragments(BackStackRecord.java:878) 
                 at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:719) 
                 at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 
                 at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388) 
                 at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:604) 
                 at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178) 
                 at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1277) 
                 at android.app.Activity.performStart(Activity.java:6321) 
                 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2419) 
                 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)  
                 at android.app.ActivityThread.access$900(ActivityThread.java:159)  
                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384)  
                 at android.os.Handler.dispatchMessage(Handler.java:102)  
                 at android.os.Looper.loop(Looper.java:152)  
                 at android.app.ActivityThread.main(ActivityThread.java:5507)  
                 at java.lang.reflect.Method.invoke(Native Method)  
                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
09-26 22:32:37.725 26444-26444/? D/AppTracker: App Event: crash 
09-26 22:32:37.729 3402-4542/? W/ActivityManager: Force finishing activity com.example.kasimir.schulplaner/.MainActivity 
09-26 22:32:37.732 26444-26444/? I/Process: Sending signal. PID: 26444 SIG: 9 
09-26 22:32:37.748 3402-26460/? D/DropBoxManagerService: file :: /data/system/dropbox/[email protected]_32_37_735.txt 
09-26 22:32:37.751 3402-4554/? I/ActivityManager: Process com.example.kasimir.schulplaner (pid 26444) has died 

私は私の断片、アプリのクラッシュの一つでプレースホルダを交換したい

+0

エラーは何ですか? –

+0

Javaでは、すべてのコードがクラスとメソッドに入ります。実際のコードと同じように、クラス宣言とメソッド宣言でコードスニペットを折り返すと、あなたが何をしているのか理解するのに役立ちます。 –

+0

androidstudioからの情報で投稿を編集しました。また、アプリケーションはただ白く点滅して終了します。もっと情報が必要な場合は教えてください。 正しく編集してください。@ Code-Apprentice – Conwear

答えて

1

MainActivityする@ 753f53がOnFragmentInteractionListener

を実装する必要があります。これはかなり自明です。プロジェクトを作成したときにOnFragmentInteractionListenerが生成されました。これは、フラグメントとそのホスティングアクティビティ間の通信に使用される通常のテクニックです。あなたは2つの選択肢があります:1)インターフェイスを実装するか、2)それを削除します。

+0

私は申し訳ありませんが、これは重複している場合、私はいくつかの検索を行ったと何か役立つ何かを思い付きませんでした。 – Conwear

+0

@Conwearガイドをどこかに従えば、アクティビティコードはそのインターフェイスを実装しているはずです。 –

関連する問題