2011-11-23 12 views
16

को बढ़ाने में त्रुटि मुझे निम्नलिखित कोड के साथ रनटाइम अपवाद मिल रहा है, क्या किसी को पता है क्यों?रनटाइम अपवाद: वर्ग खंड

public class FragsApplicationActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

SuggestionFrags वर्ग

public class SuggestionFrags extends Fragment{ 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     return super.onCreateView(inflater, container, savedInstanceState); 
    } 

} 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <fragment 
     android:id="@+id/fragment1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     class="com.samplefragsapplication.SuggestionFrags" /> 

</LinearLayout> 

मैं इस अपवाद हो रही है:

11-23 18:09:23.899: E/AndroidRuntime(2436): FATAL EXCEPTION: main 
11-23 18:09:23.899: E/AndroidRuntime(2436): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samplefragsapplication/com.samplefragsapplication.FragsApplicationActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.os.Handler.dispatchMessage(Handler.java:99) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.os.Looper.loop(Looper.java:123) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at java.lang.reflect.Method.invoke(Method.java:521) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at dalvik.system.NativeStart.main(Native Method) 
11-23 18:09:23.899: E/AndroidRuntime(2436): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.Activity.setContentView(Activity.java:1647) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at com.samplefragsapplication.FragsApplicationActivity.onCreate(FragsApplicationActivity.java:12) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
11-23 18:09:23.899: E/AndroidRuntime(2436): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.samplefragsapplication-2.apk] 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.createView(LayoutInflater.java:466) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:544) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
11-23 18:09:23.899: E/AndroidRuntime(2436):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
+0

अपवाद क्या है का प्रयास करें? –

+0

क्या आप सिर्फ एक लाइन के बजाय LogCat से संपूर्ण स्टैकट्रैक पोस्ट कर सकते हैं? – kaspermoerch

उत्तर

4

उचित रूप

हो जाएगा
<fragment 
    android:id="@+id/fragment1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:name="com.samplefragsapplication.SuggestionFrags" /> 

यूपीडी: लॉगकैट आउटपुट द्वारा निर्णय, आपके पास टुकड़े उपलब्ध नहीं हैं। यदि आप प्री-हनीकॉम्ब एंड्रॉइड (लेकिन> = 1.6) चला रहे हैं, तो आप compatibility library का उपयोग कर सकते हैं। 3.0 में टुकड़े पेश किए गए थे।

+0

मैंने यह भी कोशिश की..लेकिन मुझे नहीं मिला। कुछ अपवाद। – user977808

+0

मैं संगतता पुस्तकालय का उपयोग कर रहा हूँ। मैंने अपना minSdkVersion = "7" सेट किया है। लेकिन वह अभी भी इस मुद्दे को हल नहीं करता है। –

13

यदि आप Fragments का उपयोग करने जा रहे हैं तो आपको FragmentActivityActivity नहीं बढ़ाना होगा।

+4

यह केवल तब मान्य है जब संगतता लाइब्रेरी का उपयोग किया जाता है। –

2

मुझे बस एक ही समस्या थी, और जो मैंने पाया वह था कि मेरे main.xml में मैं गलत तरीके से खंड वर्ग का संदर्भ दे रहा था।

<fragment android:id="@+id/frag_capt" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.company.test.applicationname.fragmentname" /> 

कोशिश:

बजाय

<fragment android:id="@+id/frag_capt" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.company.test.DetailFrag" /> 

यह मेरे लिए समस्या का समाधान हो। शुभकामनाएँ।

+0

मैंने कोशिश की, लेकिन इसने मेरे लिए इस मुद्दे को ठीक नहीं किया। –

+0

मेरे लिए पूरी तरह से काम किया। धन्यवाद!!!!! – cw1998

5

इस समस्या को ठीक करने के लिए आपको FragsAplicationActivity में गतिविधि की बजाय FragmentActivity से विस्तार करना होगा।

3

अपवाद android.view.InflateException: Binary XML file line: #... Error inflating class fragment हो सकता है यदि आप से पहले अपने टुकड़े के अंदर getActivity() के साथ हेरफेर करते हैं। ऐसे मामले में आपको गलत गतिविधि संदर्भ प्राप्त होता है और उस पर भरोसा नहीं कर सकता है।

उदाहरण के लिए अगले पैटर्न गलत है:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) 
{ 
    final View view = inflater.inflate(R.layout..., container, false); 

    Button button = getActivity().findViewById(R.id...); 
    button.setOnClickListener(...); - another problem: button is null 

    return view; 
} 
+0

इसे कैसे दूर करें? – Mani

+1

@Mani का पालन करें http://stackoverflow.com/a/15137231/1338803 –

0

यकीन है कि एंड्रॉयड बनाओ: नाम = "className"

पूर्व

<fragment 
    android:name="com.name.first" 
    android:id="@+id/" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
0

सूची में पहले पैरामीटर मैं था संक्षेप में संक्षेप में:

  • FragmentActivity
  • से बढ़ाएँ अपने लेआउट में इस संरचना का पालन करें

    <fragment 
        android:id="@+id/map" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:name="com.google.android.gms.maps.MapFragment" 
    /> 
    
1

इस

<fragment 
     android:id="@+id/fragment1" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" /> 
संबंधित मुद्दे