2017-10-10 17 views
3

App se bloque au redémarrage de l'application après le changement comprimé/orientation mobile,plantages App en mode paysage

Je vais développer une application en mode paysage seulement, et je l'ai fait une mise en page dans la mise à terre avec le nom acitivty_main et il n'y a pas de disposition portrait dans mon application et pas de dossier de mise en page aussi, j'ai aussi ajouté screenOrientation = "paysage" dans l'activité manifeste.

code activité suivante:

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) {   
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 
} 

Code Manifest.xml suivant:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.yasir.sample"> 

    <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=".MainActivity" 
      android:screenOrientation="landscape"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

</manifest> 

Structure du projet:

Project Structure

FATAL EXCEPTION: main 
Process: com.example.yasir.sample, PID: 12611 

java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.example.yasir.sample/com.example.yasir.sample.MainActivity}: 
android.content.res.Resources$NotFoundException: Resource ID #0x7f04001b 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3151) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261) 
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5205) 
at android.app.ActivityThread.access$1100(ActivityThread.java:219) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:145) 
at android.app.ActivityThread.main(ActivityThread.java:6939) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f04001b 
at android.content.res.Resources.getValue(Resources.java:2495) 
at android.content.res.Resources.loadXmlResourceParser(Resources.java:4236) 
at android.content.res.Resources.getLayout(Resources.java:2311) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:413) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:366) 
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
at com.example.yasir.sample.MainActivity.onCreate(MainActivity.java:12) 
at android.app.Activity.performCreate(Activity.java:6609) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3104) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)  
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5205)  
at android.app.ActivityThread.access$1100(ActivityThread.java:219)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:145)  
at android.app.ActivityThread.main(ActivityThread.java:6939)  
at java.lang.reflect.Method.invoke(Native Method)  
at java.lang.reflect.Method.invoke(Method.java:372)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)  
+0

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); il suffit de supprimer cela puisque vous avez mentionné android: screenOrientation = "paysage" dans votre page manifeste pas besoin de code supplémentaire dans la page java –

+1

s'il vous plaît coller l'erreur se connecter sous forme de texte .. pas l'image –

Répondre

3

Resources$NotFoundException

Cette exception est levée par les API de ressources lorsqu'une demande ressource ne peut être trouvé

Pour votre information

  • Retirer setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

  • Ajouter android:configChanges="orientation|screenLayout" dans la section Manifest.

Finally

<activity android:name=".MainActivity" 
       android:screenOrientation="landscape" 
       android:configChanges="keyboard|keyboardHidden|orientation|screenLayout"> 

Alors Clean and Rebuild votre projet.

+0

Mais son crash toujours, le scénario est que je verrouillé ma tablette et a changé l'orientation de la tablette à portrait que de déverrouiller la tablette que l'application s'est écrasé –

+1

@YasirAhmedKhan ajouter 'android: configChanges =" clavier | keyboardHidden | orientation | screenLayout "' –

+1

Merci maintenant son fonctionnement parfait (Y) –