2017-08-23 1 views
0

J'apprends la programmation de studio android et j'ai un problème dans mes programmes, quand je veux aller à une nouvelle activité en utilisant la déclaration d'intention mon application s'est écrasée, c'est mon activité principale;Mon application se bloque lors de l'exécution Déclaration d'intention

public class MainActivity extends AppCompatActivity { 

private FirebaseAuth mAuth; 
private FirebaseAuth.AuthStateListener mAuthListener; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mAuth = FirebaseAuth.getInstance(); 
} 

public void onStart(){ 
    super.onStart(); 
    FirebaseUser CurrentUser = mAuth.getCurrentUser(); 
    if(CurrentUser == null){ 
     Intent StartIntent = new Intent(MainActivity.this, 
            StartActivity.class); 
     startActivity(StartIntent); 
     finish(); 
    } 
    } 

} 

et cela est manifeste:

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

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".StartActivity" 
     android:label="@string/app_name"> 

    </activity> 

il n'y a pas de message d'erreur mais Thit est ce que j'ai dans le moniteur android:

08-23 21:50:33.507 11264-11264/? E/AndroidRuntime: FATAL EXCEPTION: main 
               Process: com.ruse.ayse.areyousmartenough, PID: 11264 
               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ruse.ayse.areyousmartenough/com.ruse.ayse.areyousmartenough.StartActivity}: java.lang.NullPointerException 
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378) 
                at android.app.ActivityThread.access$800(ActivityThread.java:155) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                at android.os.Handler.dispatchMessage(Handler.java:102) 
                at android.os.Looper.loop(Looper.java:136) 
                at android.app.ActivityThread.main(ActivityThread.java:5433) 
                at java.lang.reflect.Method.invokeNative(Native Method) 
                at java.lang.reflect.Method.invoke(Method.java:515) 
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
                at dalvik.system.NativeStart.main(Native Method) 
               Caused by: java.lang.NullPointerException 
                at com.ruse.ayse.areyousmartenough.StartActivity.onCreate(StartActivity.java:31) 
                at android.app.Activity.performCreate(Activity.java:5301) 
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2291) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)  
                at android.app.ActivityThread.access$800(ActivityThread.java:155)  
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)  
                at android.os.Handler.dispatchMessage(Handler.java:102)  
                at android.os.Looper.loop(Looper.java:136)  
                at android.app.ActivityThread.main(ActivityThread.java:5433)  
                at java.lang.reflect.Method.invokeNative(Native Method)  
                at java.lang.reflect.Method.invoke(Method.java:515)  
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)  
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)  
                at dalvik.system.NativeStart.main(Native Method)  

Je résolu ce problème dans un autre projet par ajouter "intention-filter" dans le fichier manifeste, mais cela ne fonctionne pas avec ce projet,

c'est StartActivity:

public class StartActivity extends AppCompatActivity { 

private Button mRegBtn ; 
private Button mLoginBtn; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_start); 

    mRegBtn = (Button) findViewById(R.id.RegBtn); 
    mLoginBtn = (Button) findViewById(R.id.LoginBtn); 

    mRegBtn.setOnClickListener(new View.OnClickListener(){ 

     @Override 
     public void onClick(View view) { 
      Intent createAccount = new Intent(StartActivity.this, RegisterActivity.class); 
      startActivity(createAccount); 
     } 
    }); 
    mLoginBtn.setOnClickListener(new View.OnClickListener(){ /////this is line 31 
     @Override 
     public void onClick(View view) { 
      Intent loginAccount = new Intent(StartActivity.this, LoginActivity.class); 
      startActivity(loginAccount); 
     } 
    }); 
}} 
+0

ce qui est l'exception que vous obtenez? – SoroushA

+0

Sidenote: C'est une convention en java que les noms de variables doivent commencer par une minuscule. – litelite

+0

Ajouter StartActivity trop – young

Répondre

2

Votre problème est à StartActivity.java:31 que vous essayez de lire à partir d'une référence null.

Par votre commentaire, vous regardez manquer obtenir le mLoginBtn de votre mise en page =

mLoginBtn = (Button) findViewById(R.id.btn_login); 
+0

c'est ce que j'ai dans StartActivity.java:31-37: 'mLoginBtn.setOnClickListener (new View.OnClickListener() { @Override public vide onClick (Voir vue) { intention loginAccount = new Intent (StartActivity.this, LoginActivity.class); startActivity (loginAccount);} }); ' – yazeed

+2

@yazeed ne postez pas de code relevent dans le commentaire d'un répondre. Au lieu de cela, éditez votre question originale pour l'ajouter – litelite

+0

vérifier la réponse mise à jour –