2011-11-23 80 views
0

我正在開發使用片段的應用程序?這是我的問題。Android使用片段?

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

這裏是我的代碼...

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

XML代碼..

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/titles" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.mocksample.Suggestion" /> 

建議類。

public class Suggestion extends Fragment { 
} 
+0

so your main.xml contains the fragment? – pdt

+0

也是,你的建議片段,是空白的嗎?或者你沒有把它列入你的文章? – pdt

+0

sry延遲,我有一些鱈魚ei的建議也只是我沒有粘貼它.. –

回答

1

我希望你正在使用兼容性包..而且也代替片段標籤類..使用android:name

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/titles" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.mocksample.Suggestion" /> 
+0

sry它不工作.. –

1

變更活動來FragmentActivity。

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

我也試過這樣也.. –

+0

你可以粘貼一些示例代碼PLZ關於這個... –

+0

這是膨脹exception..on 在XML文件... –

0

請確保從eclipse安卓菜單中重新添加最新的兼容庫,然後繼續執行下一步。

使用片段的活動,如通過Santhosh Shettigar提到

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

,並且確保了一個在layoyut main.xml中你已經片段聲明:

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/titles" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.mocksample.Suggestion" /> 

確保在您的自定義片段中執行以下方法

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.article_view, container, false); 
    } 

對於廣告詳細說明你也可以查看谷歌文檔here