2013-06-04 24 views
0

我有一個三星Galaxy S3運行Android 4.1.2雙引導的touchwiz + 4.2.2 cm10.1。現在,問題是我的應用程序在cm10.1上完美工作,但崩潰並在touchwiz ROM上以及在我運行的任何AVD上提供NPE。它是一個很長的代碼,所以我不想忍受一切。這裏是logcat和代碼行,它給出了這個例外。謝謝您的幫助。Android應用程序工程股票機器人,但給了NPE touchwiz和avd

public class Fragment2 extends Fragment { 

static final LatLng abcd = new LatLng(xx, xx); 
String addresss; 
private GoogleMap map; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View rootView = inflater.inflate(R.layout.fragment_fragment2, 
      container, false); 
    map = ((SupportMapFragment) getFragmentManager().findFragmentById(
      R.id.map)).getMap(); 


    **NPE here** 
    Marker abcd = map.addMarker(new MarkerOptions().position(abcd)); 

    map.moveCamera(CameraUpdateFactory.newLatLngZoom(abcd, 15)); 

    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); 

logcat的: -

06-04 09:18:48.714: E/AndroidRuntime(816): FATAL EXCEPTION: main 
06-04 09:18:48.714: E/AndroidRuntime(816): java.lang.NullPointerException 
06-04 09:18:48.714: E/AndroidRuntime(816): at com.example.mapsapiv2demo.Fragment2.onCreateView(Fragment2.java:49) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.view.ViewPager.populate(ViewPager.java:1064) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.view.ViewPager.populate(ViewPager.java:911) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1432) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.View.measure(View.java:15518) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.View.measure(View.java:15518) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.View.measure(View.java:15518) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
06-04 09:18:48.714: E/AndroidRuntime(816): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.View.measure(View.java:15518) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.Choreographer.doFrame(Choreographer.java:532) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.os.Handler.handleCallback(Handler.java:725) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.os.Handler.dispatchMessage(Handler.java:92) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.os.Looper.loop(Looper.java:137) 
06-04 09:18:48.714: E/AndroidRuntime(816): at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-04 09:18:48.714: E/AndroidRuntime(816): at java.lang.reflect.Method.invokeNative(Native Method) 
06-04 09:18:48.714: E/AndroidRuntime(816): at java.lang.reflect.Method.invoke(Method.java:511) 
06-04 09:18:48.714: E/AndroidRuntime(816): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-04 09:18:48.714: E/AndroidRuntime(816): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-04 09:18:48.714: E/AndroidRuntime(816): at dalvik.system.NativeStart.main(Native Method) 
+0

請原諒我發佈這個可怕的格式。似乎很難得到正確的logcat顯示。希望你可以原諒這一次! –

回答

1

好像這件事情做SupportMapFragment.getMap(),從API文檔(重點礦山):

公衆最終的GoogleMap的GetMap()

獲取與此片段包裝的視圖綁定的底層GoogleMap。

返回 GoogleMap。如果片段的視圖尚未準備好,則爲空。如果片段lifecyle還沒有通過onCreateView(LayoutInflater,ViewGroup,Bundle),就會發生這種情況。 如果Google Play服務不可用,也會發生這種情況。如果Google Play服務隨後可用並且片段已經通過onCreateView(LayoutInflater,ViewGroup,Bundle),再次調用此方法將初始化並返回GoogleMap。

Google Play服務可能無法在運行Android 4.1.2 TouchWiz的Galaxy S3上使用。

相關問題