如何从片段中调用导航抽屉片段

时间:2015-07-30 22:55:23

标签: java android android-fragments google-maps-markers google-maps-android-api-2

所以我在我的一个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但是我遇到了错误。也许我做得不对,但你们可以帮助我吗?

由于

2 个答案:

答案 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()”。我需要那行代码吗?

ActionBar

AppCompatActivity