相关疑难解决方法(0)

什么是NullPointerException,我该如何解决?

什么是空指针异常(java.lang.NullPointerException)以及它们的原因是什么?

可以使用哪些方法/工具来确定原因,以便停止异常导致程序过早终止?

java nullpointerexception

210
推荐指数
12
解决办法
255万
查看次数

使用导航抽屉时尝试从空对象引用上的字段'int android.support.v4.app.Fragment.mContainerId'读取

下面是我在使用导航抽屉导航时在Android Studio中获得的错误的StackTrace.这是一个新错误,因为它之前没有发生过.所以我不确定如果我改变了什么.

08-11 23:16:37.823 15951-15951/com.example.aids.a09application
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.aids.a09application, PID: 15951
java.lang.NullPointerException: Attempt to read from field 'int android.support.v4.app.Fragment.mContainerId' on a null object reference
at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1017)
at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:976)
at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:95)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2013)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Run Code Online (Sandbox Code Playgroud)

下面是Java类,我的导航抽屉有片段交易.

public class MainActivity extends AppCompatActivity {
    DrawerLayout drawerLayout;
    Toolbar toolbar;
    ActionBarDrawerToggle actionBarDrawerToggle;
    FragmentTransaction fragmentTransaction;
    NavigationView navigationView;
    Intent intent;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments

9
推荐指数
1
解决办法
1199
查看次数

"尝试在空对象引用上读取字段'int android.content.pm.ApplicationInfo.targetSdkVersion'"异常

在使用Mockito运行Espresso测试时,我目前遇到此问题,"Attempt to read from the field 'int android.content.pm.ApplicationInfo.targetSdkVersion' on a null object reference"在主Activity启动后,异常会随机出现.

这是主Activity的init部分:

private MainActivity subject;
SingleActivityFactory<MainActivity> activityFactory =
    new SingleActivityFactory<MainActivity>(MainActivity.class) {
        @Override
        protected MainActivity create(Intent intent) {
            subject = spy(getActivityClassToIntercept());
            return subject;
        }
    };

@Rule public ActivityTestRule<MainActivity> mainActivityRule =
    new ActivityTestRule<>(activityFactory, true, false);

@Before
public void init() {
    mainActivityRule.launchActivity(null);
}
Run Code Online (Sandbox Code Playgroud)

这是例外:

java.lang.NullPointerException: Attempt to read from field 'int 
android.content.pm.ApplicationInfo.targetSdkVersion' on a null object 
reference
at android.view.View.getLayoutDirection(View.java:10277)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:446)
at android.view.View.measure(View.java:23169)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1059)
at android.view.View.measure(View.java:23169)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749) …
Run Code Online (Sandbox Code Playgroud)

android mockito android-espresso

8
推荐指数
1
解决办法
955
查看次数