0

Я получаю NullPointerException в методе моего фрагмента onCreateView, но странно, что это происходит только на эмуляторе. На устройстве приложение работает нормально.NullPointerException во фрагменте onCreateView только на эмуляторе

Если я поставил точку останова для NullPointerException и отладки в затмении он останавливается на этой линии:

@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 

    } 
+1

Вы должны проверять, какие 'GetMap()' возвращает. Вероятно, он возвращает что-то «null»;) – thomasg

+0

Я думаю, что может быть какая-то проблема в файле R.id.map –

ответ

1

Я думаю, что Google Maps не доступна на эмуляторе.

Чтобы исправить ошибки это сделать:

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

Чтобы быть более конкретным, эмулятор не поддерживает службы Google Play, у которых есть API Карт Google, если он не работает 4.2. 2 или выше. http://stackoverflow.com/a/14536645/634474 – dymmeh

+0

Но мой эмулятор работает 4.4.2? –

+1

Используете ли вы «Android 4.2.2 - API-уровень 19» или «API Google» (Google Inc.) - API-уровень 19? Из ссылки dymmeh кажется, что вам нужно использовать «API Google (Google Inc.) - уровень API 19». – muktupavels

Смежные вопросы