用MapView替换ListView

时间:2012-03-09 11:15:45

标签: android android-layout

我正在Activity我有ListView,但点击Button,我想用MapView替换ListView。 /> 我有一些选项可以执行此操作,例如已在布局中加载MapView,但将其可见性设置为View.GONE,并仅在用户点击按钮时才可见。
另一种选择是使用removeView()addView(),但是我不能这样做,因为Layout是LinearLayout而View应该添加到它的中间。(不知道是否有任何方法这样做。) 最后一个选项是使用ViewStub,但我之前从未使用过它。

以上哪个选项在性能方面最佳?为什么?考虑到用户可以多次在ListViewMapView之间切换。

修改:忘记提及ViewSwitcher,之前从未使用过它。

2 个答案:

答案 0 :(得分:0)

制作一个LinearLayout,其中有两个小部件ListViewMapView。在onCreate的{​​{1}}方法中,ActivityListView的可见性设置为:

Gone

方法然后在按钮单击侦听器上输入如下代码:

    listview.setvisibility(View.GONE);
    mapview.setvisibility(View.VISIBLE);

答案 1 :(得分:0)

经过大量搜索,我逐渐了解这些事情 -
添加和删​​除视图太糟糕了,容易崩溃 设置可见性是一个不错的选择,但是性能没有提高 使用ViewStub是更好的解决方案,因为初始加载时间减少了 使用ViewFlipper也很容易使用解决方案。这很容易,我最终在我的应用程序中使用ViewFlipper并且对性能没有重大影响。(主要原因是在其中添加动画很容易)

我正在尝试在ViewFlipper中使用ViewStub。我会告诉你什么时候我会成功地做到这一点。

PS:问题仍然是答案。如果我在这里犯了错误,请告诉我。