Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-类不是视图Android.support.v4.fragment_Android_Fragment - Fatal编程技术网

Android-类不是视图Android.support.v4.fragment

Android-类不是视图Android.support.v4.fragment,android,fragment,Android,Fragment,我必须使用fragment,支持v4,但我在崩溃应用程序时出错。 我找不到解决办法 这是我的代码: 活动\u广告\u列表.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="matc

我必须使用fragment,支持v4,但我在崩溃应用程序时出错。 我找不到解决办法

这是我的代码:

活动\u广告\u列表.xml:

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

<android.support.v4.app.Fragment
    android:id="@+id/advertListFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.myapp.fragment.AdvertListFragment"/>
04-22 11:09:48.223: E/AndroidRuntime(30349): FATAL EXCEPTION: main
04-22 11:09:48.223: E/AndroidRuntime(30349): java.lang.RuntimeException: Unable to start    activity ComponentInfo{com.myapp/com.myapp.app.AdvertListActivity}:    android.view.InflateException: Binary XML file line #7: Class is not a View android.support.v4.app.Fragment
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at    android.os.Looper.loop(Looper.java:137)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread.main(ActivityThread.java:5041)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at java.lang.reflect.Method.invokeNative(Native Method)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at java.lang.reflect.Method.invoke(Method.java:511)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at dalvik.system.NativeStart.main(Native Method)
04-22 11:09:48.223: E/AndroidRuntime(30349): Caused by: android.view.InflateException: Binary XML file line #7: Class is not a View android.support.v4.app.Fragment
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.createView(LayoutInflater.java:604)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.Activity.setContentView(Activity.java:1881)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at com.myapp.app.AdvertListActivity.onCreate(AdvertListActivity.java:19)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.Activity.performCreate(Activity.java:5104)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-22 11:09:48.223: E/AndroidRuntime(30349):    ... 11 more
04-22 11:09:48.223: E/AndroidRuntime(30349): Caused by: java.lang.ClassCastException: android.support.v4.app.Fragment cannot be cast to android.view.View
04-22 11:09:48.223: E/AndroidRuntime(30349):    at java.lang.Class.asSubclass(Class.java:1380)
04-22 11:09:48.223: E/AndroidRuntime(30349):    at android.view.LayoutInflater.createView(LayoutInflater.java:552)
04-22 11:09:48.223: E/AndroidRuntime(30349):    ... 22 more
带有片段的Logcat

04-22 11:07:39.950: E/AndroidRuntime(30107): FATAL EXCEPTION: main
04-22 11:07:39.950: E/AndroidRuntime(30107): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.app.AdvertListActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.os.Looper.loop(Looper.java:137)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread.main(ActivityThread.java:5041)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at java.lang.reflect.Method.invokeNative(Native Method)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at java.lang.reflect.Method.invoke(Method.java:511)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at dalvik.system.NativeStart.main(Native Method)
04-22 11:07:39.950: E/AndroidRuntime(30107): Caused by: android.view.InflateException:  Binary XML file line #7: Error inflating class fragment
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.Activity.setContentView(Activity.java:1881)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at  com.myapp.app.AdvertListActivity.onCreate(AdvertListActivity.java:19)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at  android.app.Activity.performCreate(Activity.java:5104)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-22 11:07:39.950: E/AndroidRuntime(30107):    ... 11 more
04-22 11:07:39.950: E/AndroidRuntime(30107): Caused by: java.lang.NullPointerException
04-22 11:07:39.950: E/AndroidRuntime(30107):    at com.myapp.fragment.AdvertListFragment.onCreateView(AdvertListFragment.java:63)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:846)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1061)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1160)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
04-22 11:07:39.950: E/AndroidRuntime(30107):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
04-22 11:07:39.950: E/AndroidRuntime(30107):    ... 21 more

用这种方法就行了

<fragment
    android:id="@+id/firstf"
    android:name="com.example.fragments_slider.fregment_classOne"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

只要用这种方式工作就行了

<fragment
    android:id="@+id/firstf"
    android:name="com.example.fragments_slider.fregment_classOne"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

对于本机片段(
android.app.Fragment
)和支持片段(
android.support.v4.app.Fragment
),XML布局文件中的语法是相同的

<fragment
    android:name="com.example.myfragment"
    ... />

但是,当您在活动中使用支持片段时,您的活动必须继承
FragmentActivity
(来自支持包)而不是本机
活动
。另一方面,当您使用本机片段时,您的活动可以扩展
activity
。但建议始终使用支持片段而不是本机片段,即使目标设备具有Android 4或更新版本。

对于本机片段(
Android.app.Fragment
)和支持片段(
Android.support.v4.app.Fragment
),XML布局文件中的语法相同

<fragment
    android:name="com.example.myfragment"
    ... />


但是,当您在活动中使用支持片段时,您的活动必须继承
FragmentActivity
(来自支持包)而不是本机
活动
。另一方面,当您使用本机片段时,您的活动可以扩展
activity
。但建议始终使用支持片段而不是本机片段,即使您的目标设备具有Android 4或更高版本。

以防有人犯与我相同的错误。 如果您忘记添加

super.onCreate(savedInstanceState);

在FragmentActivity的onCreate方法中。你会收到这个错误

以防万一有人犯了和我一样的错误。 如果您忘记添加

super.onCreate(savedInstanceState);

在FragmentActivity的onCreate方法中。你会收到这个错误

日志猫怎么说?现在你的日志猫怎么说的AdvertListFragment.java行号63有错误?现在你的日志猫怎么说的AdvertListFragment.java行号63有错误这在ICS之前的设备上不起作用,对吗?这不使用支持库。但这在ICS之前的设备上不起作用,对吗?这不是在使用支持库。