gpt4 book ai didi

android - 抽屉导航和 MapFragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:07 27 4
gpt4 key购买 nike

我想知道实现带抽屉导航的 MapFragment 的正确方法是什么。我已经可以很好地工作了,但我一直在阅读一些文档,也许它会在未来造成麻烦。

所以,我实现了抽屉导航的主类是一个非常普通的类,具有以下 selectItem() 方法:

HomeActivity extends Activity{

//...
//Stuff like onCreate(), etc.
//...

private void selectItem(int position) {
if (position == 0) { //Position 0 is the map option in the navigationDrawer
Fragment fragment = new MapaFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment).commit();
}
mDrawerList.setItemChecked(position, true);
setTitle(listaElementosDrawer[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
}

MapaFragment,即主 Activity 中的膨胀 fragment ,如下所示:

public class MapaFragment extends Fragment {

public MapaFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_map, container,
false);
return rootView;
}
}

并且,在MapaFragment中膨胀的fragment_map.xml是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.moictab.decanias.MapActivity$PlaceholderFragment" >

<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout>

请注意,这是 RelativeLayout 内的一个 mapFragment,它已经运行良好。但是,如果我删除 RelativeLayout 并且只留下 mapFragment,它会崩溃,因为我在 fragment 内部膨胀 fragment 。那么问题来了:

  • 为什么它在膨胀 mapFragment 时会崩溃,但在膨胀内部有 mapFragment 的 RelativeLayout 时不会崩溃?本质上不是一样的吗?
  • 实现类似功能的正确方法是什么?

最佳答案

我在使用 MapFragment 时遇到了一个非常相似的问题。这是我的解决方案:

我扩展 SupportMapFragment 对象:

public class MyMapFragment extends SupportMapFramgment
{

}

并以编程方式添加:

MyMapFragment fragment = new MyMapFragment();
fragmentManager.beginTransaction().replace(R.id.content_frame,fragment).commit();

关于android - 抽屉导航和 MapFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23343970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com