所以我在我的一个Fragment组件中集成了Google Map,而且我还有一个导航抽屉。谷歌地图是我的一个抽屉碎片。我的问题是当我点击地点标记信息窗口时如何更改碎片。
public class AboutFragment extends Fragment {
private GoogleMap mMap;
...
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(getActivity(), "Clicked on Info view", Toast.LENGTH_SHORT).show();
// This is where I want to call my ProductsFragment class.
}
});
...
}
这就是我的ProductsFragment类在下面的样子。
public class ProductsFragment extends Fragment {
public ProductsFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_products, container, false);
}
}
我尝试使用FragmentManager但是我遇到了错误。也许我做得不对,但你们可以帮助我吗?
由于
答案 0 :(得分:0)
我得到了它的工作
Fragment fragment = fragmentProducts;
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment aboutFragment = MainActivity.setFragment();
ft.remove(aboutFragment);
ft.add(R.id.container_body, fragment).commit();
但它没有改变ActionBar标题?
有关如何在此课程中更改内容的任何线索?
答案 1 :(得分:0)
“但它没有改变ActionBar标题?任何线索如何去 在这堂课中改变它?“
是的,只需致电:
getActionBar().setTtitle(fragmentTitle);
在哪里?
**你可以添加监听器:)到抽屉
DrawerLayout.setDrawerListener(DrawerLayout.DrawerListener)
// example for open/close/changeState etc
@Override
public void onDrawerOpened(View drawerView) {
// set title or subtitle
getActionBar().setSubtitle(title);
}
**或onBackPressed()如果你从prev片段
返回**或从片段适配器
中选择ItemSelected之后**或在yr代码之后的声明之后:
ft.add(R.id.container_body, fragment).commit();
**或片段
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// set title or subtitle
getActionBar().setSubtitle(fragmentTitle);
}
,因为你看到它取决于哪里&当你想做的时候
我收到错误“无法解析方法getActionBar()”。我需要那行代码吗?