2015-09-06 6 views
5

アンドロイド(私の最初のアプリ)用の簡単な電卓アプリをやっていて、特定のアンドロイドにテーマを適用しようとすると頭が痛い問題があります。ボタン。アンドロイド:テーマが特定のボタンに適用されたときにクラッシュする

特定のテーマのボタンがonclickイベントでアクティビティメソッドを実行しようとすると、問題が発生します。 StackOverflowで検索した内容に基づいて、特定のテーマのボタンの「コンテキスト」がアクティビティコンテキストと異なっているため、そのアクティビティに記述されているonclickを処理するメソッドを見つけることができません。

<Button 
    android:layout_width="0dp" 
    android:layout_weight="25" 
    android:layout_height="match_parent" 
    android:text="X" 
    android:id="@+id/multButton" 
    android:textSize="11pt" 
    android:theme="@style/contextButtonTheme" 
    android:onClick="onClickButton"/> 

私はここで読むソリューション:レイアウトXMLの私のボタンが

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
     <item name="colorButtonNormal">#dc000000</item> 
     <item name="android:background">#dc262626</item> 
     <!-- Customize your theme here. --> 
    </style> 

    <style name="contextButtonTheme" parent="AppTheme"> 
     <item name="colorButtonNormal">@color/contextButtonsColor</item> 
    </style> 

</resources> 

あり:

は私aplicationのテーマと私の特定のボタンのテーマを定義する私のstyle.xmlありその変更は "android:theme"を "style"とするが、これはクラッシュを解決するものの、colorButtonNormalの新しい色は適用されない:(

Pls help me D:

PD:

答えて

3

私の悪い英語のため申し訳ありませんが、私はあなたがもう少し背景を得ることができます同様の質問hereを、答えました。

android:onClick="onClickButton"を使用せず、コードにonClickListenerを設定して問題を解決することができます。この方法であなたのテーマを維持することができますButton。公式docsにはこれを行う方法の例があります。

+0

こんにちは、私は以前あなたの答えを見て、2つのリンクを読んだ。私はonClickListenerで試してみません、私は仕事から戻ってみるよ。助けてくれてありがとう! – Frietziek

+0

それは動作し、miの問題を解決!ありがとう、たくさんの男! :) – Frietziek

関連する問題