2016-09-18 5 views
0

を拡張したときに、私はカスタムクラスを作成し、それは私が エラーカスタムクラスがFloatingActionButton

customFAB cFab = new customFAB(getApplicationContext); 

MainActivity

からこのクラスを呼び出すしかし、私は

You need to use a Theme.AppCompat theme (or descendant) with the design library. 

このエラーが出るFloatingActionButton

public class customFAB extends FloatingActionButton 
{ 
    public customFAB(Context context) 
    { 
     super(context); 
    } 
} 

を拡張私のstyle.xml

です210
<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 
    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 
</resources> 

テーマはTheme.AppCompatです。だから何が問題なの?

ありがとうございました。

+0

ですか? –

+0

@JuliánMartínezno、MainActivtyはAppCompatActivityを拡張します。 – user4757345

答えて

3

あなたApplicationContextはあなたのマニフェストに<application>要素にtheme属性を使用して、アプリケーションのデフォルトのテーマを設定する可能性があるという事実にもかかわらず、それにテーマを持っていません。 Viewのようにインスタンス化するときはActivityContextを使用する必要があります。例えば

:APPCOMPATを拡張し、あなたの主な活動は

customFAB cFab = new customFAB(MainActivity.this); 
関連する問題