我有一个Activity
我有一个ListView
,但点击一个Button
,我想用MapView替换ListView
。
我有一些选择来做到这一点,比如已经在布局中加载了MapView
,但将它的可见性设置为View.GONE
,并且仅当用户单击按钮时才可见。
另一种选择是使用removeView()
和addView(),
但是我不能这样做,因为布局是LinearLayout,并且视图应该被添加到它的中间(不知道是否有任何方法可以做到这一点)。
最后一个选项是使用ViewStub
,但是我从未使用过它。通过MapView替换ListView
以上哪个选项是最佳性能明智的,为什么?考虑到用户可以多次在ListView
和MapView
之间切换。
编辑:忘了提及ViewSwitcher
,从未使用过。
回答你的第一个问题,有:http://developer.android.com/reference/android/view/ViewGroup.html#addView%28android.view.View,%20int%29 – njzk2 2012-03-09 11:18:43
是的,我忘了那个,但我不认为我应该经常添加和删除视图。 – noob 2012-03-09 11:24:59
如果您打算在两次之间切换,我会将它们添加到布局并显示/隐藏相应的布局,因为这样会更快。如果你只打算做一次,那么添加/删除可能是更好的解决方案。 – 2012-03-09 11:25:46