2014-12-08 8 views
0

처음으로 appcompat_v7을 사용하여 탐색 서랍을 만들려고합니다. 일식에 의해 제안 된 사전 정의 된 활동을 사용하여 프로젝트를 만들면 모든 것이 잘 작동합니다. 하지만 fragment_navigation_drawer 파일을 변경하면 오류가 발생하고 앱을 실행할 때마다 응용 프로그램이 중단됩니다.이진 XML 파일 줄 # 14 : 클래스 조각을 부 풀리는 중 오류가 발생했습니다.

오류

12-08 17:31:40.347: E/AndroidRuntime(25507): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.apps.mobileclub/com.android.apps.mobileclub.ui.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class fragment 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread.access$800(ActivityThread.java:144) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.os.Handler.dispatchMessage(Handler.java:102) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.os.Looper.loop(Looper.java:135) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread.main(ActivityThread.java:5221) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.reflect.Method.invoke(Native Method) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.reflect.Method.invoke(Method.java:372) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
12-08 17:31:40.347: E/AndroidRuntime(25507): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class fragment 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at com.android.apps.mobileclub.ui.MainActivity.onCreate(MainActivity.java:35) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.Activity.performCreate(Activity.java:5933) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
12-08 17:31:40.347: E/AndroidRuntime(25507): ... 10 more 
12-08 17:31:40.347: E/AndroidRuntime(25507): Caused by: java.lang.NullPointerException 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.VMClassLoader.findLoadedClass(Native Method) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:362) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.ClassLoader.loadClass(ClassLoader.java:499) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v4.app.Fragment.isSupportFragmentClass(Fragment.java:454) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2123) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547) 
12-08 17:31:40.347: E/AndroidRuntime(25507): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
12-08 17:31:40.347: E/AndroidRuntime(25507): ... 20 more 

그들은 당신이 일식의 제안을 사용하여 새 프로젝트를 만들 때에있는 모든 다른 것들 자바 파일에서 동일합니다. 난 그냥 두 파일

fragment_navigation_drawer.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.android.apps.mobileclub.ui.NavigationDrawerFragment" > 

    <ListView 
     android:id="@+id/nav_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#cccc" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" /> 

    <ProgressBar 
     android:id="@+id/nav_progress" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

</RelativeLayout> 

및 NavigationDrawerFragment.java 의 OnCreateView에서

을 변경

View mainView = inflater.inflate(R.layout.fragment_navigation_drawer, 
       container, false); 
     mDrawerListView = (ListView) mainView.findViewById(R.id.nav_list); 
     mNavProgress = (ProgressBar) mainView.findViewById(R.id.nav_progress); 
     cHandler = new HttpClientHandler(); 

메신저 잘못가는 곳을 가르쳐주세요?

감사합니다.

답변

0

잘못된 클래스를 가져 왔다고 생각합니다. 당신이 뒤로 Compability가에 대한 APPCOMPAT 사용하는 경우 당신이

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 

확인을 사용해야이 코드에서 어쩌면 당신은이 곳을 missplaced. FragmentTransaction을 사용하는 경우에도 확인해야합니다.

+0

똑같은 수입이 사용되었습니다 .. 그리고 제가 일찍 말했듯이 ... 나는 이클립스에서 만든 자동 코드와 동일한 코드를 사용하고 있습니다 ..이 라인을 변경했습니다. – awaistoor