Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 如何在android studio中启动屏幕后启动另一项活动_Java_Android_Android Studio - Fatal编程技术网

Java 如何在android studio中启动屏幕后启动另一项活动

Java 如何在android studio中启动屏幕后启动另一项活动,java,android,android-studio,Java,Android,Android Studio,大家好,我现在正在学习,并在android studio中开发一个应用程序。我的问题是在启动屏幕后无法继续登录活动。我已经查看了网络和stackoverflow并应用了它,但仍然存在相同的错误。我感谢你的帮助和回答 下面是我的一些代码 SplashScreen.java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContent

大家好,我现在正在学习,并在android studio中开发一个应用程序。我的问题是在启动屏幕后无法继续登录活动。我已经查看了网络和stackoverflow并应用了它,但仍然存在相同的错误。我感谢你的帮助和回答

下面是我的一些代码

SplashScreen.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            final Intent mainIntent =  new Intent(SplashScreen.this, Login.class);
            SplashScreen.this.startActivity(mainIntent);
            SplashScreen.this.finish();
        }
    },3000);

}
Login.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);

    Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
    finish();
  }
AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>



我哪里出错了?

因为您已经编写了代码,在
Login.java的
onCreate
方法上移动到
MainActivity

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);
finish();

注释这一行或在单击登录按钮时保留这一行,因为您已经编写了代码,在
Login.java的
onCreate
方法上移动到
MainActivity

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);
finish();

对此行进行注释或单击“登录”按钮保留该行

您的登录活动只会将您引导到创建时的主活动

看这些线

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);

您的登录活动只是将您引导到创建时的Main活动

看这些线

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);

它直接重定向到MainActivity,就像您编写的LoginActivity onCreate一样

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);
finish();
没有任何条件。通过设置登录检查条件和条件使其有条件

if (<logged_in_your_condition_Check>){
    Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
    finish();
}
if(){
意向意向=新意向(Login.this,MainActivity.class);
星触觉(意向);
完成();
}

它直接重定向到MainActivity,就像您编写的创建后的LoginActivity一样

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);
finish();
没有任何条件。通过设置登录检查条件和条件使其有条件

if (<logged_in_your_condition_Check>){
    Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
    finish();
}
if(){
意向意向=新意向(Login.this,MainActivity.class);
星触觉(意向);
完成();
}

为什么需要Login.class中的以下行

 Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
    finish();
如果您在onCreate()中使用finish(),那么它将立即调用onDestroy(),这没有任何意义


从onCreate中删除上述给定代码您的代码将正常工作

为什么需要Login.class中的以下行

 Intent intent = new Intent(Login.this, MainActivity.class);
    startActivity(intent);
    finish();
如果您在onCreate()中使用finish(),那么它将立即调用onDestroy(),这没有任何意义

从onCreate中删除上述给定代码您的代码将在清单写入中工作:

<activity
android:name=".MySplashActivity"
android:noHistory="true"
 ..... >
    ....
</activity>
在清单中写入:

<activity
android:name=".MySplashActivity"
android:noHistory="true"
 ..... >
    ....
</activity>

显示错误日志实际上没有错误,只是在启动屏幕之后,它不会直接登录,而是直接登录到mainactivity。因此,我希望它指向登录活动。这是因为在登录活动中,您已将意图赋予主活动。当触发登录活动时,此函数将触发,因此您无法看到登录活动从login.java intent intent intent=new intent(login.This,main activity.class)中删除此代码;星触觉(意向);完成()@natsuVsnaruto只需对意图行进行注释或在按钮内单击意图行即可。然后你可以看到登录页面显示错误日志实际上没有错误,只是在启动屏幕之后,它不直接登录,而是直接登录到mainactivity。因此,我希望它指向登录活动。这是因为在登录活动中,您已将意图赋予主活动。当触发登录活动时,此函数将触发,因此您无法看到登录活动从login.java intent intent intent=new intent(login.This,main activity.class)中删除此代码;星触觉(意向);完成()@natsuVsnaruto只需对意图行进行注释或在按钮内单击意图行即可。然后你可以看到登录page@natsuVsnaruto由于您有登录屏幕,所以您必须有一些代码来检查give Id pwd(凭证)是否有效。如果它们是有效的,那么您应该启动MainActivity。@natsuVsnaruto因为您有登录屏幕,所以您必须有一些代码来检查give Id pwd(凭据)是否有效。如果它们是有效的,那么你应该开始你的主要活动。