2016-09-26 3 views
-2

내 응용 프로그램에서 NavigationDrawer를 함축 할 수 있도록 파편을 학습하기 시작했습니다.교체 할 때 응용 프로그램이 충돌 함

NavigationDrawer를 구성한 다음 2 개의 조각 : 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 제로 효과를 하스.

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

자바에서는 모든 코드가 클래스와 메소드로 들어간다는 것을 기억하십시오. 클래스 코드 및 메소드 선언에서 코드 스 니펫을 실제 코드에서와 같이 래핑하면 수행중인 작업을 이해하는 데 도움이됩니다. –

+0

androidstudio에서 정보를 가지고 게시물을 편집했습니다. 또한 앱이 흰색으로 깜박이고 종료됩니다. 더 많은 정보가 필요하시면 알려주세요. 올바르게 편집하십시오. @ Code-Apprentice – Conwear

답변

1

MainActivity의 @의 753f53이 OnFragmentInteractionListener

를 구현해야이 꽤 자기 설명이다. 프로젝트를 만들 때 OnFragmentInteractionListener이 생성되었습니다. 조각과 호스팅 활동 사이의 통신에 사용되는 일반적인 기술입니다. 두 가지 선택이 있습니다 : 1) 인터페이스 구현 또는 2) 인터페이스 제거.

+0

임 죄송합니다. 중복 인 경우 일부 검색을했는데 도움이되지 않은 항목이 있습니다. – Conwear

+0

@Conwear 가이드를 어딘가에 따라 가면 Activity 코드가 해당 인터페이스를 구현해야합니다. –

관련 문제