java - 仅在模拟器上 fragment 的 onCreateView 中出现 NullPointerException

标签 java android android-fragments android-emulator nullpointerexception

我在 fragment 的 onCreateView 方法中收到 NullPointerException ,但奇怪的是这只发生在模拟器上。在设备上,应用程序运行良好。

如果我为 NullPointerException 设置断点并在 Eclipse 中进行调试,它将停在这一行:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_map, container, false);

        mapTrackButton = (Button) rootView.findViewById(R.id.track_user_button);

        map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

        map.setMyLocationEnabled(true); // This line
        // More code

    }

最佳答案

我认为谷歌地图在模拟器上不可用。

要修复错误,请执行以下操作:

if (map != NULL) {
    map.setMyLocationEnabled(true);
    // ...
}

关于java - 仅在模拟器上 fragment 的 onCreateView 中出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22044439/

相关文章:

Java - ByteBuffer 还是 ArrayList<Byte>?

java - 查找字符串是否包含除句号之外的非数字?

java - 注释拦截器中 HandlerMethod 的问题

android - 自定义 View 能否获得类似 "onClose"或 "onDestroy"事件?

java - 向 ListView 行中的每个项目添加按钮时出现错误

带参数的 Java 泛型 - 继承

java - OpenGL ES 2.0 - 如何有效地将纹理复制到帧缓冲区中

android - 在游戏过程中录制用户面部视频

安卓|停止 TabLayout 重新加载/刷新我的 fragment

java - 从数据库中删除后如何刷新或更新 fragment