[解決済み] このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
質問内容
Android Studio 0.4.5
カスタムダイアログボックスを作成するためのAndroidドキュメントです。 http://developer.android.com/guide/topics/ui/dialogs.html
カスタムダイアログが必要な場合は、ダイアログAPIを使う代わりに、アクティビティをダイアログとして表示させることができます。単にアクティビティを作成し、そのテーマを
その
<activity>
マニフェスト要素を使用します。
<activity android:theme="@android:style/Theme.Holo.Dialog" >
しかし、これを試したところ、次のような例外が発生しました。
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
下記をサポートしているのですが、minに10より大きいものを使うことができません。
minSdkVersion 10
targetSdkVersion 19
私のスタイルでは、次のようになっています。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
そして、マニフェストには、アクティビティとして次のようなものがあります。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:theme="@android:style/Theme.Holo.Light.Dialog"
android:name="com.ssd.register.Dialog_update"
android:label="@string/title_activity_dialog_update" >
</activity>
このようにダイアログボックスを作成することは、すでにレイアウトが完成しているので、ホッとしていたことでした。
どなたか、この問題を回避する方法を教えてください。
どのように解決するのですか?
この問題が発生する理由は、ダイアログテーマを適用しようとしているアクティビティが、拡張された
ActionBarActivity
を必要とし、そのため
AppCompat
というテーマが適用されます。
更新情報
: エクステンション
AppCompatActivity
にもこの問題があります。
この場合、Javaの継承を
ActionBarActivity
から
Activity
で、マニフェストのダイアログテーマはそのままにして、非表示の
Theme.AppCompat
値
一般的なルールとして、古いバージョンのAndroidに対応させたい場合は、コードに
AppCompat
をテーマとし、Java コードは
AppCompatActivity
. Android の最新バージョンや機能にしか興味がないなど、このサポートを必要としない *アクティビティがある場合は、任意のテーマを適用することができますが、Java コードは古いプレーンな *アクティビティを継承しなければなりません。
Activity
.
注意:
AppCompatActivity
(またはそのサブクラス。
ActionBarActivity
から
Activity
また、quot;support" を持つ様々な呼び出しを、対応する呼び出しに変更する必要があります。
なし
"support"です。 そのため、代わりに
getSupportFragmentManager
を呼び出します。
getFragmentManager
.
関連
-
[解決済み】Android: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】プロガードを有効にすると、タスク ':app:crashlyticsStoreDeobsDebug' の依存関係を判断できない。
-
[解決済み】新しいAVDを作成すると、CPU/ABIフィールドに「システムイメージがインストールされていません」と表示される。
-
[解決済み】findViewByIDがnullを返す。
-
[解決済み】Android Studio。Android.support.design.widget.FloatingActionButton クラスを膨らませるのにエラーが発生する。
-
[解決済み] Looper.prepare()を呼び出していないスレッドではハンドラを作成できない
-
[解決済み] Android SDK の場所には空白を含めないでください。NDK ツールで問題が発生するためです。
-
[解決済み] 既存のカスタムテーマでXMLのアクティビティのタイトルバーを非表示にする方法
-
[解決済み] アンドロイドでカスタムダイアログボックスを作成する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】Android Intent コンストラクタを解決できない
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】レンダリングの問題 レンダリング中に発生した例外:com/android/util/PropertiesMap [重複].
-
[解決済み】プロガードを有効にすると、タスク ':app:crashlyticsStoreDeobsDebug' の依存関係を判断できない。
-
[解決済み】Android Studio 3.2 - com.android.tools.build:aapt2:3.2.0-4818971 を見つけられませんでした。
-
[解決済み] Looper.prepare()を呼び出していないスレッドではハンドラを作成できない
-
[解決済み] AndroidのADBデバイスが不正に
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。