2014-07-08 2 views
0

이 문제의 해결책을 찾기 위해 적어도 3 시간을 잃었습니다 ... 문제가 무엇인지 그리고 어떻게 해결할 수 있습니까?Android InflateException 오류 부풀리기 클래스 조각 중요 예외 : 기본

활성 레이아웃 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/background2" 
    tools:context="com.example.try.Sigiture" 
    tools:ignore="MergeRootFrame" > 


    <fragment 
     android:name="com.example.try.PlaceholderFragment" 
     android:id="@+id/fragment1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

</RelativeLayout> 

단편 레이아웃 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/fragment" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:background="@drawable/sign_field" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    tools:context="com.example.try.Sigiture$PlaceholderFragment" > 

</RelativeLayout> 

활동 클래스 :

import android.app.Activity; 
import android.os.Bundle; 

public class Sigiture extends Activity { 

    private PlaceholderFragment placeholderFragment; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sigiture); 
    } 
} 

단편 클래스 :

import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.util.DisplayMetrics; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup; 

public class PlaceholderFragment extends Fragment implements OnClickListener { 
    public PlaceholderFragment() { 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment_sigiture, container, false); 
    } 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Log.d("Fragmend", "Click"); 
    } 
} 
012,351 6,

그리고 이것은 로그 캣 말했다 무엇이다는 :

07-08 18:55:28.772: W/dalvikvm(872): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 
07-08 18:55:28.852: E/AndroidRuntime(872): FATAL EXCEPTION: main 
07-08 18:55:28.852: E/AndroidRuntime(872): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.try/com.example.try.Sigiture}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.os.Looper.loop(Looper.java:137) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread.main(ActivityThread.java:5041) 
07-08 18:55:28.852: E/AndroidRuntime(872): at java.lang.reflect.Method.invokeNative(Native Method) 
07-08 18:55:28.852: E/AndroidRuntime(872): at java.lang.reflect.Method.invoke(Method.java:511) 
07-08 18:55:28.852: E/AndroidRuntime(872): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
07-08 18:55:28.852: E/AndroidRuntime(872): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
07-08 18:55:28.852: E/AndroidRuntime(872): at dalvik.system.NativeStart.main(Native Method) 
07-08 18:55:28.852: E/AndroidRuntime(872): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
07-08 18:55:28.852: E/AndroidRuntime(872): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Activity.setContentView(Activity.java:1881) 
07-08 18:55:28.852: E/AndroidRuntime(872): at com.example.try.Sigiture.onCreate(Sigiture.java:13) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Activity.performCreate(Activity.java:5104) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
07-08 18:55:28.852: E/AndroidRuntime(872): ... 11 more 
07-08 18:55:28.852: E/AndroidRuntime(872): Caused by: java.lang.ClassCastException: com.example.try.PlaceholderFragment cannot be cast to android.app.Fragment 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Fragment.instantiate(Fragment.java:585) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Fragment.instantiate(Fragment.java:560) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.app.Activity.onCreateView(Activity.java:4709) 
07-08 18:55:28.852: E/AndroidRuntime(872): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 
07-08 18:55:28.852: E/AndroidRuntime(872): ... 21 more 

내가 어떤 대답을 발견하지만, 도움이되지 않았다. 도와주세요. 나는 파편으로 처음으로 일하고 있으며, 그들이 중요하다는 것을 알고 있으며, 나는 그것을 사용하는 법을 배워야합니다.

+0

당신이 시도해 봤어 android.app.Fragment에서 직접 조각 때문에 예외를 사용하는 트릭을 할 단지 수 XML 파일에서' Anuj

+0

'PlaceHolderFragment'에서와 같이'v4 support'를 사용하고 XML에서는 direct 조각 'android.app.Fragment'에서 그리고 그러므로 예외 – Anuj

+0

나는 대답이 이렇게 간단했다는 것을 믿을 수 없다. 고맙다 !!! – definera

답변

1

<Fragment...에서 XML 파일의 <android.support.v4.app.Fragment...을 변경 PlaceHolderFragment 마찬가지로

v4 support을 사용하고 XML에 당신이