我有一个带有ViewPager的活动。在此ViewPager中有4个片段。这些片段之一(我们称其为MyListFragment)在RelativeLayout中具有一个带有ListView和MapView(Google Maps V2)的布局文件。一次只能看到这2个视图中的一个。最初,ListView可见,而MapView消失了。我有一个按钮,当我单击它时,我将可见性切换:ListView消失了,MapView变成可见。当我再次单击它时,MapView设置为走了,ListView设置为可见。您得到图片。现在的问题如下:将MapView设置为不可用并将ListView设置为可见后,ViewPager将不再滑动。而是,所有触摸事件都转到ListView(这是正常的垂直ListView)。我分几步进行了分解,并检查了何时可以或不可以滑动ViewPager。
这很奇怪,因为步骤5似乎与步骤1处于相同状态。这是我的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/fragment_padding" android:paddingRight="@dimen/fragment_padding" android:paddingBottom="@dimen/list_padding_bottom" android:clipToPadding="false" android:scrollbarStyle="outsideOverlay"/> <com.google.android.gms.maps.MapView android:id="@+id/mapView" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"/> <Button android:id="@+id/button_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="@dimen/fragment_padding" android:layout_marginLeft="@dimen/fragment_padding" android:layout_marginRight="@dimen/fragment_padding" android:text="Show on map"/>
这是一些
onCreateView
代码:
this.listView = (ListView) view.findViewById(R.id.listView); this.mapView = (MapView) view.findViewById(R.id.mapView); this.mapView.onCreate(savedInstanceState); this.mapView.getMapAsync(this);
这是按钮的onClick中发生的事情:
if(this.listView.getVisibility() == View.VISIBLE) { this.listView.setVisibility(View.GONE); this.mapView.setVisibility(View.VISIBLE); this.buttonSwitch.setText("Show in list"); } else { this.listView.setVisibility(View.VISIBLE); this.mapView.setVisibility(View.GONE); this.buttonSwitch.setText("Show on map"); }
如果需要提供另一段代码,请告诉我。任何帮助将不胜感激,因为我似乎无法找到导致此错误的原因。
我有一个带有ViewPager的活动。在此ViewPager中有4个片段。这些片段之一(我们称其为MyListFragment)具有一个布局文件,其中包含ListView和MapView(Google Maps V2),位于...
仅启用和禁用,如:-