31 votes

Android.util.AndroidRuntimeException : Vous ne pouvez pas combiner le rejet par glissement et la barre d'action.

Je suis nouveau dans la programmation Android et j'ai commencé un exemple de programme hello world, mais je suis bloqué par l'erreur suivante :

07-05 13:52:20.830: W/dalvikvm(898): threadid=1: thread exiting with uncaught exception (group=0xb2ac4d70)
07-05 13:52:20.850: E/AndroidRuntime(898): FATAL EXCEPTION: main
07-05 13:52:20.850: E/AndroidRuntime(898): Process: com.example.helloandroid, PID: 898
07-05 13:52:20.850: E/AndroidRuntime(898): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloandroid/com.example.helloandroid.MainActivity}: android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar.
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2197)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2258)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread.access$800(ActivityThread.java:138)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.os.Handler.dispatchMessage(Handler.java:102)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.os.Looper.loop(Looper.java:136)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread.main(ActivityThread.java:5026)
07-05 13:52:20.850: E/AndroidRuntime(898):  at java.lang.reflect.Method.invokeNative(Native Method)
07-05 13:52:20.850: E/AndroidRuntime(898):  at java.lang.reflect.Method.invoke(Method.java:515)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
07-05 13:52:20.850: E/AndroidRuntime(898):  at dalvik.system.NativeStart.main(Native Method)
07-05 13:52:20.850: E/AndroidRuntime(898): Caused by: android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar.
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:275)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2872)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3129)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:303)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.Activity.setContentView(Activity.java:1930)
07-05 13:52:20.850: E/AndroidRuntime(898):  at com.example.helloandroid.MainActivity.onCreate(MainActivity.java:13)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.Activity.performCreate(Activity.java:5242)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-05 13:52:20.850: E/AndroidRuntime(898):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2161)

Fichier manifeste :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloandroid"
    android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.helloandroid.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>
</application>

</manifest>

MainActivity.Java

package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
}

activité_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

 >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</RelativeLayout>

Aidez-moi à trouver où je fais fausse route. Je suis actuellement sous Android 4.3, API 18,

J'ai essayé Android 4.0.3 API 15, Android 4.4W API 20 ; j'ai aussi essayé de modifier le sdk comme ci-dessous, mais sans succès.

<uses-sdk
   android:minSdkVersion="15"
   android:targetSdkVersion="19" />

33voto

4.4W est Android Wear SDK. (ne vise pas les appareils Android Wear)

essayez de changer la version du sdk cible à 19

Vérifiez ici paramètre targetSdkVersion

N'utilisez pas le niveau 20 de l'API et la plate-forme 4.4W (qui est le SDK Android Wear) comme dispositif virtuel Android.

J'utilise le niveau 19 de l'API et la plate-forme 4.4.2 ; tout fonctionne bien.

17voto

J'ai eu le même problème. Mais la version du sdk n'était pas la cause de cette exception.

Dans le fichier AndroidManifest.xml vous avez le thème a ActionBar en elle.

android:theme="@style/AppTheme" >

Changez la ligne ci-dessus en

android:theme="@android:style/Theme.DeviceDefault" >

Cela corrigera l'exception.

9voto

vinksharma Points 51

4.4W est Android Wear SDK.

Cette erreur est due au fait que l'appareil que vous ciblez est Android Wear, dont le modèle de conception est différent.

Si vous développez une application mobile, changez votre AVD et ciblez n'importe quelle API inférieure à 20 ou choisissez API 20 (aperçu L).

Ou si vous visez vraiment Android Wear, changez le design de votre application.

5voto

user989383 Points 21

J'utilise Android Studio beta 0.8.6 avec java 7. J'ai eu le même problème. Je l'ai résolu de cette façon.

Dans le fichier AndroidManifest.xml vous avez le thème a ActionBar en elle.

android:theme="@style/AppTheme" >

Changez la ligne ci-dessus en

android:theme="@android:style/Theme.DeviceDefault" >

Cela corrigera l'exception. Comme mentionné par Gangadhar dans la réponse précédente, la version du sdk n'est pas la cause de cette exception.

Et je l'ai testé avec l'application helloWorld.

2voto

user3918631 Points 31

J'ai obtenu cette erreur parce que j'ai essayé d'exécuter la partie mobile d'un projet d'usure sur le dispositif Samsung Gear. Après être passé de "mobile" à "wear" dans les configurations d'exécution, tout a fonctionné (le niveau 20 de l'API et la plateforme 4.4W sont effectivement le bon choix dans ce cas).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X