2016-05-19 9 views
0

ロリポップバージョンでうまく動作するアンドロイドのツールバーを使用していますが、残念ながら古いバージョンでは機能しません。Androidツールバーのエラー

ツールバーのxml:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar                xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:local="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minHeight="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

Javaクラス:

public class MainAct extends AppCompatActivity{ 
Toolbar mtoolbar; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.act_main); 
    mtoolbar=(Toolbar)findViewById(R.id.toolbar); 
    setSupportActionBar(mtoolbar); 

} 

スタイル:

<resources> 
<style name="MyMaterialTheme" parent="MyMaterialTheme.Base"> 
</style> 

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
</resources> 

のGradle:

apply plugin: 'com.android.application' 
android { 
compileSdkVersion 23 
buildToolsVersion "23.0.1" 
defaultConfig { 
    applicationId "nidhinkumar.reccs" 
    minSdkVersion 15 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
    }dependencies { 
     compile fileTree(dir: 'libs', include: ['*.jar']) 
     compile 'com.android.support:appcompat-v7:24.0.0-alpha1' 
    } 

私はアクションバーにスタイルを変更しようとしましたが、アプリは古いデバイスでは実行されず、次のエラーが表示されます。

java.lang.RuntimeException: Unable to start activity ComponentInfo{nidhinkumar.reccs/nidhinkumar.reccs.MainAct}: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.Toolbar 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 
     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 
     at android.os.Handler.dispatchMessage(Handler.java:110) 
     at android.os.Looper.loop(Looper.java:193) 
     at android.app.ActivityThread.main(ActivityThread.java:5299) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.Toolbar 
     at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:816) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:745) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:130) 
     at nidhinkumar.reccs.MainAct.onCreate(MainAct.java:15) 
     at android.app.Activity.performCreate(Activity.java:5286) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302) 
+1

あなたのgradleに「com.android.support:design:YOUR VERSION '」を追加しましたか? マニフェストからそのアクティビティのNoActionBarテーマを設定する必要があります – MabrurChowdhury

+0

'values-14'や' values-11'のような別の値フォルダがありますか?はいの場合は削除するか、そのフォルダからstyle.xmlを開き、親テーマを 'NoActioBar'に変更します。 –

+0

いいえ私はフォルダがありません –

答えて

2
Try this not so sure may be because of your compileSdkVersion is higher, 
change compile 'com.android.support:appcompat-v7:24.0.0-alpha1' to 

compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.android.support:design:23.1.1' 

if this does not work, change your build.gradle(Project) classPath 
to a lower varsion(say 1.3.0 or 1.3.1) 
+0

それは男が動作しますが、理由は何ですか問題のappcompatだった場合は –

+0

依存関係を使用する前にスタジオをそのバージョンに更新する必要があります。それはまだclassPathのための同じ理由です、私はスタジオによって更新されたときに解決されたそのような問題がありました。私はスタジオの依存関係にあるすべてのものがclassPathに揃っていると思います。詳細については、このリンクにアクセスしてください。https://developer.android.com/studio/releases/gradle-plugin.html – Franklyn

0

あなたのXMLファイルにこのコードを追加します。

<include 
android:id="@+id/tool_bar" 
layout="@layout/actionbar_main"></include> 
+0

私はそれを追加しましたが、同じエラーが発生しました –

0

変更この:

android:minHeight="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 

へ:

android:minHeight="@dimen/actionBarSize" 
android:background="@color/colorPrimary" 
+0

いいえ、同じエラーが発生しません –

0
compile 'com.android.support:design:23.1.1' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:support-v4:23.1.1' 
  • これらのライブラリは、フレームワークに含まれていない有用なUI要素を提供する新しい機能の下位互換バージョンを提供します。 Lollipop以下のデバイスでは なので、これらの機能は含まれていません。したがって、これらの サポートライブラリは、Lollipop以下のバージョンで可能になります。
関連する問題