2017-06-05 1 views
-3

Lorsque je démarre l'application, force la fermeture.L'activité ne peut pas être castée en android.app.Application

C'est le LogCat:

java.lang.RuntimeException: Unable to instantiate application com.blocktrekacademy.officialblocktrek.Authentication: java.lang.ClassCastException: com.blocktrekacademy.officialblocktrek.Authentication cannot be cast to android.app.Application 

[MISE À JOUR ]: Ceci est mon AndroidManifest.xml:

... 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".Authentication" 
      android:label="@string/title_activity_authentication" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

Ceci est mon Authentication.java

package com.blocktrekacademy.officialblocktrek; 

import ... 

public class Authentication extends AppCompatActivity { 
    ... 
+0

À quoi ressemble la déclaration de 'com.blocktrekacademy.officialblocktrek.Authentication'? –

+0

Est-ce que 'com.blocktrekacademy.officialblocktrek.Authentication' étend' Application'? –

+0

Il étend AppCompatActivity – Axis

Répondre

0

D'abord, supprimez la propriété android:name=".Authentication" dans <application>.

Votre classe Authentication est une Activity, et non Application. Donc, vous devez déclarer comme tel:

<application> 

    ... 

    <activity android:name=".Authentication" 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 

</application> 

Ce intent-filter déclare que l'activité comme l'activité « principale », il sera lancé au démarrage de votre application.

+0

Quelle erreur jette-t-il maintenant? –

+0

Eh bien j'ai enlevé le android: nom et il me lance 'java.lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.blocktrekacademy.officialblocktrek/com.blocktrekacademy.officialblocktrek.Authentication}: android.content.ActivityNotFoundException: Impossible de trouver explicite classe d'activité {/com.blocktrekacademy.officialblocktrek.Mainpage}; avez-vous déclaré cette activité dans votre AndroidManifest.xml? ' – Axis

+0

Qu'est-ce que com.blocktrekacademy.officialblocktrek.Mainpage? –