web-dev-qa-db-ja.com

android.util.AndroidRuntimeException:スワイプ解除とアクションバーを組み合わせることはできません

Androidプログラミングは初めてで、サンプルのhello worldプログラムを開始しましたが、次のエラーが発生しました。

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)

マニフェストファイル:

<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);
}
}

activity_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>

私が間違っている場所を見つけるのを助けてください、私は現在Android 4.3、API 18、

Android 4.0.3 API 15、Android 4.4W API 20;以下のようにSDKを編集しようとしましたが、運はありません。

<uses-sdk
   Android:minSdkVersion="15"
   Android:targetSdkVersion="19" />
31
user3797788

4.4WはAndroid Wear SDKです。 (Androidウェアデバイスをターゲットにしないでください)

ターゲットSDKバージョンを19に変更してみてください

ここを確認してください targetSdkVersion設定

APIレベル20およびPlatform 4.4W(Android Wear SDK)をAndroid仮想デバイスとして使用しないでください。

APIレベル19とプラットフォーム4.4.2を使用して、すべて正常に動作します。

同じ問題がありました。しかし、sdkバージョンはこの例外の原因ではありませんでした。

AndroidManifest.xmlファイルには、テーマにActionBarが含まれています。

Android:theme="@style/AppTheme" >

上記の行を

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

これで例外が修正されます。

4.4WはAndroid Wear SDK。

このエラーは、ターゲットとするデバイスがAndroid異なるデザインパターンのウェアであるためです。

モバイルアプリケーションを開発している場合は、AVDを変更して20未満のAPIをターゲットにするか、API 20(Lプレビュー)を選択します。

または、Android Wearをターゲットにしている場合は、アプリのデザインを変更してください。

9
vinksharma

Android Studio beta 0.8.6 with Java 7.を使用しています。同じ問題がありました。この方法で修正しました。

AndroidManifest.xmlファイルには、テーマにActionBarが含まれています。

Android:theme="@style/AppTheme" >

上記の行を

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

これで例外が修正されます。 Gangadharが前の回答で述べたように、SDKバージョンはこの例外の原因ではありませんでした。

そして、helloWorldアプリでテストしました。

5
user989383

Samsung Gearデバイスでウェアプロジェクトのモバイル部分を実行しようとしたため、このエラーが発生しました。実行構成で「モバイル」から「ウェア」に切り替えた後、すべてが機能しました(この場合、APIレベル20およびプラットフォーム4.4Wは確かに正しい選択です)。

2
user3918631

Eclipseでプロジェクトを作成しようとすると、この問題が発生しました。
マニフェストファイルに以下を追加する必要がありました。

<uses-feature Android:name="Android.hardware.type.watch" />
1
TheTall

values/styles.xmlに移動して、スタイルを次のように設定します。

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="Android:Theme.DeviceDefault">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

また、フォルダーres/values-v11およびres/values-v14、およびvalues-vxxのすべてのフォルダーでは、styles.xmlファイルを次のように変更します。

<resources>

    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    -->
    <style name="AppBaseTheme" parent="Android:Theme.DeviceDefault">
        <!-- API 14 theme customizations can go here. -->
    </style>

</resources>

アクションバーのテーマはウェアデバイスと互換性がないため、追加する必要はありません。

1
user1544900

ターゲットSDKバージョンを19に変更します

APIレベル19およびプラットフォーム4.4.2をインストールします

AVDでアプリケーションを実行しながら、APIレベル19およびプラットフォーム4.4.2を使用します。

0
Sreekumar

私は問題を解決するために多くの努力をしています。 AndroidManifest.xmlで行った変更を除いて、何も機能しません。

<uses-sdk
        Android:minSdkVersion="7"
        Android:targetSdkVersion="21" />

Android:targetSdkVersionを削除してください。うまくいきました。試してみることもできます。

0
sashikanta