过去几天我一直在使用android进行一些调整。 在其他视图中包含视图时,我遇到了一个问题。
使用简单视图时,这没有问题,但只要视图有一些奇特的活动,比如ListActivity或MapActivity(当使用谷歌地图视图时)
让我们说我需要一个动态类型的列表,以及同一视图中的谷歌地图视图。 由于它们都有与之相关的特定活动,我将如何创建它?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:orientation="vertical" android:layout_width="fill_parent" android:id="@+id/linearLayout1" android:weightSum="1">
<include android:id="@+id/include1" layout="@layout/list" android:layout_height="wrap_content" android:layout_width="match_parent"></include>
<include android:id="@+id/include2" layout="@layout/map" android:layout_width="match_parent" android:layout_height="wrap_content"></include>
</LinearLayout>
我应该使用那种Inflater吗?
我一直在寻找这个问题的解决方案,但我还没找到。 要么我的谷歌缺少了,要么我正在以错误的方式看待它。
在写这篇文章的同时,在SO上阅读相关问题时,我可能已经找到了解决方案。 由于ListActivity和MapActivity只是扩展活动,而不是使用android SDK提供的ListActivity和MapActivity,我应该只使用普通的Activity,并自己实现这些东西,或者如果可能的话,在我自己的活动中重用它们的活动? / p>
任何人都可以证实吗? :)
提前致谢:)
答案 0 :(得分:1)
MapViews并不总是在MapActivities中,ListViews并不总是在ListActivities中。这些活动作为围绕单一视图类型的其他活动的起点存在。
回答您的问题:如果您想要一个同时包含ListView和MapView的活动,您只需将它们添加到活动的根视图组即可。然后简单地实现所需的方法以使MapView和ListView正常工作。
我不确定你在一个视图中拥有多种视图类型的意思。通常人们会谈到为视图组添加视图,例如:
<LinearLayout ....>
<Button ..../>
<ImageView ..../>
</LinearLayout>
在这种情况下,您有一个LinearLayout
视图组,其中包含Button
和ImageView
的2个视图。在Android中,谈论包含另一个视图的ImageView
是没有意义的。
这让我觉得你问题的标题应该是:
一个活动中的多种视图类型(如地图和列表)