Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.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_Listview_Galleryview_Landscape Portrait - Fatal编程技术网

Android 从纵向视图切换到横向视图两种不同的视图

Android 从纵向视图切换到横向视图两种不同的视图,android,listview,galleryview,landscape-portrait,Android,Listview,Galleryview,Landscape Portrait,我正在开发应用程序,因为我希望ListView和GalleryView具有纵向模式下的图像,GalleryView具有我在res/layout land/main.xml(横向)和普通res/layout/main.xml(纵向)文件夹中创建的相同横向模式下的图像,但我得到了一个例外 03-02 11:21:06.420: E/AndroidRuntime(775): FATAL EXCEPTION: main 03-02 11:21:06.420: E/AndroidRuntime(775):

我正在开发应用程序,因为我希望ListView和GalleryView具有纵向模式下的图像,GalleryView具有我在res/layout land/main.xml(横向)和普通res/layout/main.xml(纵向)文件夹中创建的相同横向模式下的图像,但我得到了一个例外

03-02 11:21:06.420: E/AndroidRuntime(775): FATAL EXCEPTION: main
03-02 11:21:06.420: E/AndroidRuntime(775): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.landscape/com.landscape.ListAvtivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.os.Looper.loop(Looper.java:130)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread.main(ActivityThread.java:3683)
03-02 11:21:06.420: E/AndroidRuntime(775):  at java.lang.reflect.Method.invokeNative(Native Method)
03-02 11:21:06.420: E/AndroidRuntime(775):  at java.lang.reflect.Method.invoke(Method.java:507)
03-02 11:21:06.420: E/AndroidRuntime(775):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-02 11:21:06.420: E/AndroidRuntime(775):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-02 11:21:06.420: E/AndroidRuntime(775):  at dalvik.system.NativeStart.main(Native Method)
03-02 11:21:06.420: E/AndroidRuntime(775): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ListActivity.onContentChanged(ListActivity.java:243)
03-02 11:21:06.420: E/AndroidRuntime(775):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:210)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.Activity.setContentView(Activity.java:1657)
03-02 11:21:06.420: E/AndroidRuntime(775):  at com.landscape.ListAvtivity.onCreate(ListAvtivity.java:43)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-02 11:21:06.420: E/AndroidRuntime(775):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-02 11:21:06.420: E/AndroidRuntime(775):  ... 11 more

当我从layout land中删除main.xml时,应用程序工作正常,只显示ListView。

添加您问题中layout land中的main.xml

布局land/main.xml中的ListView似乎不包含android:id=“@android:id/list”

编辑

该活动不应扩展
ListActivity
,而应仅扩展
activity
,因为它在contentview中搜索id为
@android:id/list
的listview


您必须手动使用
列表视图

检查两个布局列表视图id是否相同。是否可以检查清单文件以检查活动的启动模式,因为在未调用创建时可能会出现这种情况。请检查并告知结果。@SathishBabuS:layout/main中只有一个listView。xml@Roll你能不能举例说明一下你需要做哪些修改?你能检查一下onCreate()吗当您从横向切换到纵向时,是否调用方法?具有listview的my main.xml位于layout/main.xml中,layout land/main.xml包含galleryview。。。。。。。我尝试了两种方法@android:id/list也@id+list它给了我同样的错误,如果我从layout land中删除main.xml,代码工作正常,并显示ListView如果在layout land中复制layout/main.xml会发生什么?应用程序也崩溃了吗?我想我知道了,如果内容视图不包含id为
@android:id/list
的列表视图,则您的活动无法扩展
ListActivity
。手动设置在纵向中列出内容,在Landscape中列出画廊内容是的,我仅手动执行此配置c=getResources().getConfiguration();if(c.orientation==Configuration.orientation\u纵向){//纵向CustomAdapter=new CustomAdapter(this,R.layout.list,R.id.title,data);setListAdapter(adapter);getListView().setTextFilterEnabled(true);}否则if(c.orientation==Configuration.orientation\u横向){//landscape Gallery ga=(Gallery)findViewById(R.id.Gallery01);ga.setAdapter(new-ImageAdapter(this));}但在landscape中仍然存在相同的错误问题是活动扩展了ListActivity。它不应该扩展。活动会发生什么?