Java Android:内容必须具有id属性为';android.R.id.list

Java Android:内容必须具有id属性为';android.R.id.list,java,android,listview,android-fragments,android-activity,Java,Android,Listview,Android Fragments,Android Activity,我已经厌倦了所有可能的在线解决方案(包括Stackoverflow)来修复这个错误,但是没有任何效果,任何帮助都将不胜感激 错误是什么? java.lang.RuntimeException:您的内容必须具有id属性为“android.R.id.list”的ListView 注意:关于堆栈溢出有很多答案,我已经把它们都累坏了 我的代码中有什么? XML: <android.support.v4.widget.DrawerLayout xmlns:android="http://schema

我已经厌倦了所有可能的在线解决方案(包括Stackoverflow)来修复这个错误,但是没有任何效果,任何帮助都将不胜感激

错误是什么? java.lang.RuntimeException:您的内容必须具有id属性为“android.R.id.list”的ListView

注意:关于堆栈溢出有很多答案,我已经把它们都累坏了

我的代码中有什么? XML:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- Framelayout to display Fragments -->
<FrameLayout
    android:id="@+id/frame_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        />


<!-- Listview to display slider menu -->

<ListView

    android:id="@android:id/list"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"        
    android:listSelector="@drawable/list_selector"
    android:background="@color/list_background"/>
 @SuppressLint("NewApi") public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

mDrawerList = (ListView) this.findViewById(android.R.id.list);
有人知道如何修复这个错误吗

完整的logcat报告

09-19 14:53:00.376: E/MainActivity(28935): Error in creating fragment
09-19 14:53:00.387: D/AndroidRuntime(28935): Shutting down VM
09-19 14:53:00.394: E/AndroidRuntime(28935): FATAL EXCEPTION: main
09-19 14:53:00.394: E/AndroidRuntime(28935): Process: info.androidhive.slidingmenu, PID: 28935
09-19 14:53:00.394: E/AndroidRuntime(28935): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.slidingmenu/info.androidhive.slidingmenu.MainActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2314)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread.access$800(ActivityThread.java:148)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.os.Handler.dispatchMessage(Handler.java:102)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.os.Looper.loop(Looper.java:135)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread.main(ActivityThread.java:5312)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at java.lang.reflect.Method.invoke(Native Method)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at java.lang.reflect.Method.invoke(Method.java:372)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
09-19 14:53:00.394: E/AndroidRuntime(28935): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.ListFragment.ensureList(ListFragment.java:344)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.ListFragment.onViewCreated(ListFragment.java:145)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:941)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:556)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1243)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.Activity.performStart(Activity.java:5969)
09-19 14:53:00.394: E/AndroidRuntime(28935):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2277)
09-19 14:53:00.394: E/AndroidRuntime(28935):    ... 10 more

不要使用android.R.id.list,而是使用R.id.list。
抱歉,前面的回答有一半,但@android:id/list特定于文档中的ListActivity和ListFragment:

ListActivity具有由单个, 屏幕中央的全屏列表。但是如果你愿意的话,, 您可以通过设置自己的视图布局来自定义屏幕布局 在onCreate()中使用setContentView()。要做到这一点,你必须有自己的观点 包含一个id为“@android:id/list”的ListView对象(如果需要,则为list) 它在代码中)

因此,要么使用@+id/list,然后使用R.id.list,要么使用ListActivity扩展您的活动 一般来说,+id用于在R中创建新id,而android:id用于xml中,以使用文档中提到的我们自己的视图进行自定义。
因此我说@android:id/list是特定于ListActivity和ListFragment的。

只需从MainActivity中删除一行即可
setContentView(R.layout.activity_main)

您需要将ListView的id设置为
@android:id/list
,因为您使用的是ListActivity或ListFragment。还有,你的发现。。。不需要。请在您的
res/layout/
res/layout-…/
目录中的每个目录中发布实际的
R.layout.activity\u main
资源文件。感谢Commonware-我将其添加到问题中。使用R.id.list,我仍然会遇到相同的错误,在我的问题中,我已经厌倦了所有可能的解决方案,这是一个彻底的难题,但您也需要在xml文件中进行更改。我删除了R.Java并重新生成了它,以防出现问题,但删除R.Java没有用……在布局文件中进行更改..也就是将listview的id更改为android:id=“@+id/list”或者将您的活动更改为ListActivity从错误报告中我可以看到您正在使用ListFragment…您为该ListFragment膨胀的布局文件必须具有id为@android:id/list的ListView,有关详细说明,请参考-