2016-11-08 3 views
0

Приветствую всех, кого я сейчас изучаю и разрабатываю приложение в студии Android. Моя проблема в том, что я не могу перейти к моей активности в журнале после заставки. Я уже смотрю в net и 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"?> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/logo" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".SplashScreen" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".Login" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".Login"/> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="com.ex.app.MainActivity" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
</application> 

где же я ошибся?

+0

журналов Показать ошибки –

+0

на самом деле нет никакой ошибки, сразу после заставки он не прямой для входа вместо этого направить в mainactivity. поэтому я хотел бы, чтобы он направлял активность входа. – natsuVsnaruto

+0

Это потому, что в вашей активности входа вы указали намерение основной активности. Эта функция будет срабатывать при активации активности входа, чтобы вы не могли видеть логин активации. – vishnumm93

ответ

0

Как вы написали код, чтобы перейти к MainActivity по методу onCreate из Login.java

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

закомментировать эту строку или сохранить его на нажатие кнопки для входа в аккаунт

+0

благодарим вас за помощь, так что я должен делать? – natsuVsnaruto

+0

@natsuVsnaruto, поскольку у вас есть экран входа в систему, тогда вы должны иметь некоторый код, чтобы проверить, действительно ли Id-pwd (учетные данные) действительны или нет. если они действительны, то вы должны начать свою MainActivity. – SilentKiller

+0

Он работает! Еще раз спасибо – natsuVsnaruto

0

Ваш Логин деятельность только направляет вас к MainActivity по созданию

Посмотрите на эти строки

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

Он перенаправление 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(); 
} 
+0

Большое спасибо, я буду применять этот код. :) – natsuVsnaruto

0

почему вы требуете ниже линии в Login.class

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

, если вы используете отделку() в OnCreate(), то он сразу же под названием onDestroy(), и это не имеет никакого смысла.

удалить выше данный код из OnCreate вашего кода будет работать

Смежные вопросы