【发布时间】:2014-06-11 06:29:53
【问题描述】:
因此,在一个父片段MAPS 和LIST 中有两个片段。 MAPS 是我的地图片段,LIST 是普通的列表视图。我有两个按钮MAPS_BUTTON 和LIST_BUTTON。当主片段被加载时,MAPS 片段默认被加载,但是当我点击列表按钮时,LIST 片段被加载到MAPS 所在的位置。我的问题是,每当我在LIST 片段上,并且我点击MAPS_BUTTON 时,LIST 片段不会被删除,它总是留在那里,因此我看不到地图片段。
谁能帮帮我?!
以下是我的两个按钮的 onclick 代码:
map_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
lf= new ListFragment(bean, imgLoader);
FragmentTransaction ft = getFragmentManager()
.beginTransaction();
ft.remove(lf);
//ft.addToBackStack("LIST");
ft.commit();
getFragmentManager().popBackStack();
Log.e("POPBACKSTACK: ", "POPBACKSTACK: "+getFragmentManager().getBackStackEntryCount());
}
});
final Button list_view_button = (Button) rootView
.findViewById(R.id.list_view_button);
list_view_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
map_button.setClickable(true);
Fragment mf = (MapFragment) getFragmentManager().findFragmentById(
R.id.map);
FragmentTransaction ftm = getFragmentManager().beginTransaction();
ftm.remove(mf);
ftm.addToBackStack("MAPS");
ftm.commit();
lf = new ListFragment(bean, imgLoader);
FragmentTransaction ft = getFragmentManager()
.beginTransaction();
ft.replace(R.id.maps_list_container, lf);
ft.commit();
}
});
【问题讨论】:
-
在你的代码中使用视图切换器的概念,这个概念可以帮助你切换你的两个片段。
-
@prakash 非常感谢,我尝试了视图切换器,它就像一个魅力!!!
标签: android google-maps android-fragments maps