我有一个片段,在它的布局中我有一个两个视图的区域。一个用于列表视图。另一个是地图视图。
列表视图只是一个列表视图。 地图视图是一个单击按钮后我提交的片段。 因此,当我按下第一次的按钮时,它需要大约2-3秒来替换专用视图中的片段。在这个时候,所有的UI都被卡住了。 之后,列表到地图之间的转换反之亦然。
怎么能克服这个?
布局布局:
<RelativeLayout
....
<RelativeLayout
android:id="@+id/mapViewLayout"
android:layout_below="@id/restaurantListFragTxtNoResults"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
</RelativeLayout>
<RelativeLayout
android:id="@+id/listViewLayout"
android:layout_below="@id/restaurantListFragTxtNoResults"
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:divider="@color/app_theme_color"
android:dividerHeight="4px">
</ListView>
...
</RelativeLayout>
...
</RelativeLayout>
按钮上的单击以切换到地图视图:
mFragmentManager.beginTransaction()
.replace( R.id.mapViewLayout,
new MapFragment() ).commit();
layoutView.findViewById(R.id.restViewLayout).setVisibility(View.GONE);
答案 0 :(得分:0)
尝试使用处理程序包装片段事务。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mFragmentManager.beginTransaction()
.replace(R.id.mapViewLayout,
new MapFragment()).commit();
}
}, 50);