Java 片段中的NullPointerException';s onCreateView仅在emulator上
我在片段的Java 片段中的NullPointerException';s onCreateView仅在emulator上,java,android,android-fragments,android-emulator,nullpointerexception,Java,Android,Android Fragments,Android Emulator,Nullpointerexception,我在片段的onCreateView方法中得到了一个NullPointerException,但奇怪的是,这只发生在模拟器上。在设备上,应用程序运行正常 如果我在eclipse中为NullPointerException和debug设置一个断点,它将停在这一行: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
onCreateView
方法中得到了一个NullPointerException
,但奇怪的是,这只发生在模拟器上。在设备上,应用程序运行正常
如果我在eclipse中为NullPointerException和debug设置一个断点,它将停在这一行:
@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
}
我认为谷歌地图在emulator上不可用 要修复错误,请执行以下操作:
if (map != NULL) {
map.setMyLocationEnabled(true);
// ...
}
您应该检查
getMap()
返回的内容。它可能返回了一些null
;)我认为R.id.map中可能存在一些问题更具体地说,emulator不支持带有Google Maps API的Google Play服务,除非它运行的是4.2.2或更高版本。但是我的模拟器运行的是4.4.2?您使用的是“Android 4.2.2-API级别19”还是“Google API(Google Inc.)-API级别19”?从dymmeh链接看来,您需要使用“谷歌API(谷歌公司)-API级别19”。感谢您的建议,事实证明我没有在模拟器上使用谷歌API。。。