0

好的,所以这可以正常工作。我刚刚迁移到 Windows 8.1 的全新安装,现在当我在我的 Android 手机上运行它时,应用程序崩溃并出现指向该((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();行的空指针异常。

为什么是这样?我对Android的理解充其量是初级的,越详细越好。


MapActivity.java

http://pastebin.com/HvNKd84G

代码片段:

public class MapActivity extends Activity {

        private static final int GPS_ERRORDIALOG_REQUEST = 9001;
        protected GoogleMap mMap;
        String locAddr;
        String locName;
        Double locLongitude;
        Double locLatitude;
        final Handler handler = new Handler();


        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
               //NullPointer here
               ....
               ....
4

1 回答 1

1

好的,所以这可以正常工作。

不像现在写的那样。:-)

为什么是这样?

您没有在调用setContentView()之前调用findFragmentById(),因此该片段不存在。

于 2013-11-02T23:09:28.200 回答