Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取IllegalArgumentException Null。启动后,当我单击“注册”按钮时崩溃_Java_Android - Fatal编程技术网

Java 获取IllegalArgumentException Null。启动后,当我单击“注册”按钮时崩溃

Java 获取IllegalArgumentException Null。启动后,当我单击“注册”按钮时崩溃,java,android,Java,Android,MainActivity.java代码 主活动加载启动动画,然后启动到登录屏幕,该屏幕显示 一个登录按钮和一个注册按钮,用于设置注册屏幕的动画。但当我点击“注册”按钮时,应用程序重新启动,然后崩溃 public void run() { //Call next screen Intent intent = new Intent(MainActivity.this, Login.class); // Att

MainActivity.java代码 主活动加载启动动画,然后启动到登录屏幕,该屏幕显示 一个登录按钮和一个注册按钮,用于设置注册屏幕的动画。但当我点击“注册”按钮时,应用程序重新启动,然后崩溃

        public void run() {

            //Call next screen
            Intent intent = new Intent(MainActivity.this, Login.class);

            // Attach all the elements those you want to animate in design
            Pair[] pairs = new Pair[2];
            pairs[0] = new Pair<View, String>(image, "logo_image");
            pairs[1] = new Pair<View, String>(logo, "logo_text");

                //wrap the call in API level 21 or higher
            if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP)
            {
                ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, pairs);
                startActivity(intent, options.toBundle());
            }
        }, SPLASH_SCREEN);
有人知道这种行为的原因吗?stacktrace对此有任何建议的修复吗?

共享元素不能为空


您的
视图
中有一个是
null
,不能是。。。检查您的
列表,并确保在打开的
活动

共享元素中有一对/相同的
视图
,共享元素不能为null=>它看起来像是null。找出哪一个,并确保它是实例化的这是一个挑战。我如何找出空值?通过阅读issuethanks的stacktrace以获得您的帮助。在继续运行stacktrace和调试后,发现它卡在ActivityOptions=ActivityOptions.MakeScenetTransitionAnimation(Login.this,pairs);。不得不说出来“不得不说出来”。。。这很少(如果不是永远)是一个好的解决方案。您正在做的是更改预期的功能。相反,你应该找出哪个组件是空的,检查它为什么没有实例化,并在使用它之前实例化它。几乎所有的东西看起来都很好,但仍然有相同的问题。在完成整个
数组put
fir
循环后,使用
Log.d()
打印所有输入的
s。在调用
super.onPause()
或在其他
活动
生命周期方法之前,您可能会在
onPause
中查看一些
视图
            Pair[] pairs = new Pair[7];
            pairs[0] = new Pair<View, String>(image, "logo_image");
            pairs[1] = new Pair<View, String>(logoText, "logo_text");
            pairs[2] = new Pair<View, String>(sloganText, "logo_desc");
            pairs[3] = new Pair<View, String>(username, "username_tran");
            pairs[4] = new Pair<View, String>(password, "password_tran");
            pairs[5] = new Pair<View, String>(login_btn, "button_tran");
            pairs[6] = new Pair<View, String>(callSignUp, "login_signup_tran");

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
            {
                ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(Login.this, pairs);
                startActivity(intent, options.toBundle());
            }
java.lang.IllegalArgumentException: Shared element must not be null
    at android.app.ActivityOptions.makeSceneTransitionAnimation(ActivityOptions.java:833)
    at android.app.ActivityOptions.makeSceneTransitionAnimation(ActivityOptions.java:753)
    at com.chijid1.medlabtuts.Login$1.onClick(Login.java:58)
    at android.view.View.performClick(View.java:7161)
    at android.view.View.performClickInternal(View.java:7138)
    at android.view.View.access$3500(View.java:811)
    at android.view.View$PerformClick.run(View.java:27419)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:221)
    at android.app.ActivityThread.main(ActivityThread.java:7520)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)