一位用户告诉我,他无法在我的应用程序中打开 fragment ,因为他发生了崩溃。我有 logcat:
java.lang.NullPointerException
at com.dd.androreboot.devicecontrolfragment.onCreateView(devicecontrolfragment.java:162)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
at android.app.BackStackRecord.run(BackStackRecord.java:635)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1399)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
在第 162 行我有以下代码:
ConnectivityManager connManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
datatoggle = (ToggleButton)v.findViewById(R.id.datatoggle);
datatoggle.setChecked(mobile.isConnectedOrConnecting()); //line 162
这部分代码需要检查 3g 是否已连接,如果是,则切换按钮状态变为 true。它适用于我尝试过的每台设备,但不适用于此设备:Galaxy Note 10.1 (p4notewifi)。有什么帮助吗?
最佳答案
试试这个:
ConnectivityManager connManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
datatoggle = (ToggleButton)v.findViewById(R.id.datatoggle);
if(mobile != null) {
datatoggle.setChecked(mobile.isConnectedOrConnecting()); //line 162
} else {
datatoggle.setChecked(false); //line 162
}
关于java - Android 打开 fragment 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700196/