我得到的错误
无法启动活动ComponentInfo {de.androidbuch.activiti / de.androidbuch.activiti.task.Activity}:android.view.InflateException:二进制XML文件中的行#11:错误充气一流的片段
当我通过纵向和横向模式的切换。我使用的片段。我的XML是:
<的LinearLayout机器人:ID =@ + ID / mainLayout机器人:方向=横向机器人:layout_width =FILL_PARENT机器人:layout_height =WRAP_CONTENT>
< ListView的机器人:ID =@ + ID / Android的:清单机器人:layout_height =WRAP_CONTENT机器人:layout_width =FILL_PARENT/>
<片段机器人:ID =@ + ID / fragmentDetails机器人:layout_height =FILL_PARENT机器人:layout_width =FILL_PARENT级=de.androidbuch.activiti.task.TaskDetailsFragment/>
< / LinearLayout中>
如果我通过横向和纵向模式切换一切工作正常。但是,当我点击我的片段(我可以看到我的片段),然后切换到另一种模式我得到的错误。任何想法如何,我可以解决呢?找到了一些答案,在这里,但这些都不帮我了...
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):致命异常:主要
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):java.lang.RuntimeException的:无法启动的活动
ComponentInfo {de.androidbuch.activiti / de.androidbuch.activiti.task.Activity}:android.view.InflateException:二进制XML文件中的行#11:错误充气类片段
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3097)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.access $ 1600(ActivityThread.java:123)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:997)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.os.Handler.dispatchMessage(Handler.java:99)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.os.Looper.loop(Looper.java:126)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.main(ActivityThread.java:3998)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在java.lang.reflect.Method.invokeNative(本机方法)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在java.lang.reflect.Method.invoke(Method.java:491)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在dalvik.system.NativeStart.main(本机方法)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):android.view.InflateException:二进制XML文件中的行#11:错误充气类片段产生的原因
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:688)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.inflate(LayoutInflater.java:479)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.inflate(LayoutInflater.java:391)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.view.LayoutInflater.inflate(LayoutInflater.java:347)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.Activity.setContentView(Activity.java:1771)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在de.androidbuch.activiti.task.TaskActivity.onCreate(TaskActivity.java:83)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
06-21 14:55:05.600:ERROR / AndroidRuntime(7636):12 ...更多
解决方案
由于hdemirchian,确保使用
进口android.support.v4.app.Fragment;
和还请确保使用的是片段(S)的活动来延长 FragmentActivity
,而不是普通的活动
,
进口android.support.v4.app.FragmentActivity;
要获得 FragmentActivity
类。
I get the Error
Unable to start activity ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
when I switch via the portrait and the landscape mode. I'm using fragments. My xml is:
<LinearLayout android:id="@+id/mainLayout" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" >
<ListView android:id="@+id/android:list" android:layout_height="wrap_content" android:layout_width="fill_parent"/>
<fragment android:id="@+id/fragmentDetails" android:layout_height="fill_parent" android:layout_width="fill_parent" class="de.androidbuch.activiti.task.TaskDetailsFragment"/>
</LinearLayout>
If I switch via landscape and portrait mode everything works fine. But when I click on my fragment (and I can see my fragment) and then switch to the other mode I get the error. Any idea how I can solve it? Found some answers here but none of these helped me out...
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): FATAL EXCEPTION: main
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): java.lang.RuntimeException: Unable to start activity
ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3097)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.access$1600(ActivityThread.java:123)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.os.Looper.loop(Looper.java:126)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.main(ActivityThread.java:3998)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at java.lang.reflect.Method.invoke(Method.java:491)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at dalvik.system.NativeStart.main(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:688)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.Activity.setContentView(Activity.java:1771)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at de.androidbuch.activiti.task.TaskActivity.onCreate(TaskActivity.java:83)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): ... 12 more
解决方案
As hdemirchian, make sure to use
import android.support.v4.app.Fragment;
And also make sure that the Activity that is using the fragment(s) extends FragmentActivity
instead of the regular Activity
,
import android.support.v4.app.FragmentActivity;
to get the FragmentActivity
class.