2015-09-06 23 views
5

我正在做一個簡單的android應用程序的計算器應用程序(我的第一個應用程序),當我嘗試將特定的android:主題應用於按鈕。應用程序崩潰時android:主題是應用於特定按鈕

當具有特定主題的按鈕嘗試執行onclick事件中的活動方法時,問題就出現了。根據我在StackOverflow中搜索的內容,就像按鈕的「上下文」,其特定主題與活動上下文不同,因此無法找到處理寫入活動的onclick的方法。

還有就是我style.xml在那裏我定義我aplication主題,我的特定按鈕主題:

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

還有就是我在佈局XML按鈕:

<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"/> 

的解決方案,我在這裏讀這是改變「android:主題」與「風格」,雖然這解決了崩潰,colorButtonNormal新顏色不適用:(。

請幫我D:

PD:對不起我的英文不好

回答

3

我已經回答了類似的問題here,在那裏你可以得到更多的背景。

您的問題的一個可能的解決方案是不使用android:onClick="onClickButton"但在代碼中設置onClickListener。這樣你可以保持你的主題Button。官方docs有一個例子如何做到這一點。

+0

嗨,我已經看到你的答案之前,並reased這兩個環節。我沒有嘗試onClickListener,我會嘗試當我從工作中回來。感謝您的幫助! – Frietziek

+0

它的工作和解決mi問題!非常感謝男士! :) – Frietziek