2013-02-26 2 views
1

이상한 오류로 인해 응용 프로그램이 시작될 때 계속 충돌합니다. 관련 레이아웃뿐만 아니라 아래의 logcat을 포함 시켰습니다. 그러나 클래스 android.view.fragment에 대한 예외를 찾을 수 없기 때문에 inflate 예외가 있음을 알 수 있습니다. 호환성 조각을 사용하지 않고 있습니다 (앱이 ICS 이전을 지원하지 않음). 따라서 모든 것이 android.app.Fragment 일 것으로 예상됩니다. 내가 찾을 수 있었던 다른 모든 게시물은 FragmentActivity을 사용하여 제안하지만 여기서는 지원 라이브러리를 사용하지 않기 때문에 해결책이 아닙니다. 누구든지 어떤 통찰력을 가지고 있습니까?ClassNotFoundException - 비 호환 조각을 부 풀릴 때

레이아웃 파일 :

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/locations" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <!-- Some views here --> 

    <!-- The line below is line 38 referenced in the LogCat --> 
    <fragment 
     android:id="@+id/ad_fragment" 
     android:name="tenkiv.billing.AdFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     tools:layout="@layout/ad_fragment_view" /> 

</RelativeLayout> 

그리고 로그 캣 출력 :

FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tenkiv.environment.application/com.tenkiv.environment.application.EnvironmentMainActivity}: android.view.InflateException: Binary XML file line #38: Error inflating class fragment 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
    at android.app.ActivityThread.access$600(ActivityThread.java:141) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:5041) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #38: Error inflating class fragment 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
    at com.slidingmenu.lib.SlidingMenu.setMenu(SlidingMenu.java:384) 
    at com.tenkiv.environment.application.EnvironmentMainActivity.onCreate(EnvironmentMainActivity.java:335) 
    at android.app.Activity.performCreate(Activity.java:5104) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
    ... 11 more 
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.fragment" on path: /data/app/com.tenkiv.environment.application-2.apk 
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:552) 
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:643) 
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
    ... 20 more 
+0

''android.view.fragment "'에 대한 프로젝트 전체 검색을 시도해 어디서나 발생하는지 확인해 보셨습니까? –

답변

1

그 확인하시기 바랍니다 노력이

<fragment android:id="@+id/fragmentDetails" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
class="tenkiv.billing.AdFragment"/> 
+0

결과가 "Class is a View"가 아닌 inflate 예외가 발생합니다. – Jared

+0

은 tenkiv.billing.Ad입니다. 조각을 확장하는이 사용자 정의 클래스를 조각화하십시오.? – Pragnani

+0

또한 클래스 속성을 부여합니다. – Pragnani

0

처럼 완전한 이름을 제공하여 확실하지 않다 FragmentActivity 클래스에서 super 클래스의 onCreate 메서드도 호출합니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
.... 
} 
0

이 문제는 오타 또는 이상한 보이지 않는 문자가 xml 태그에 삽입되는 등의 바보 같은 것들이 원인 일 수 있습니다. 필자의 경우, 원인은 "fragment"여는 태그의 오타였습니다. 나는 대신 "frsgment"를 가지고 있었고 물론 Android Studio는 플래그를 올리지 않았습니다. 알아내는 데는 시간이 걸렸습니다. 안좋다!

관련 문제