タブレイアウトを実装しようとしていますが、残念ながらこのエラーが発生します。
私は私のXMLコードを追加しました、私が間違っていることを理解するのを助けることができますか?.
以下は私が得るエラーログです
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vvdntech.design_material/com.example.vvdntech.design_material.LoggedIn}: Android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.Android.material.tabs.TabLayout
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2585)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2667)
at Android.app.ActivityThread.-wrap11(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1494)
at Android.os.Handler.dispatchMessage(Handler.Java:111)
at Android.os.Looper.loop(Looper.Java:207)
at Android.app.ActivityThread.main(ActivityThread.Java:5776)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:789)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:679)
Caused by: Android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.Android.material.tabs.TabLayout
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:539)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:423)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:374)
at Android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.Java:467)
at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140)
at com.example.vvdntech.design_material.LoggedIn.onCreate(LoggedIn.Java:17)
at Android.app.Activity.performCreate(Activity.Java:6582)
at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1113)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2532)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2667)
at Android.app.ActivityThread.-wrap11(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1494)
at Android.os.Handler.dispatchMessage(Handler.Java:111)
at Android.os.Looper.loop(Looper.Java:207)
at Android.app.ActivityThread.main(ActivityThread.Java:5776)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:789)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:679)
Caused by: Android.view.InflateException: Binary XML file line #16: Error inflating class com.google.Android.material.tabs.TabLayout
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:776)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:704)
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:835)
at Android.view.LayoutInflater.rInflateChildren(LayoutInflater.Java:798)
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:838)
at Android.view.LayoutInflater.rInflateChildren(LayoutInflater.Java:798)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:515)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:423)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:374)
at Android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.Java:467)
at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140)
at com.example.vvdntech.design_material.LoggedIn.onCreate(LoggedIn.Java:17)
at Android.app.Activity.performCreate(Activity.Java:6582)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:789)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:679)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.google.Android.material.tabs.TabLayout" on path: DexPathList[[Zip file "/data/app/com.example.vvdntech.design_material-1/base.apk", Zip file "/data/app/com.example.vvdntech.design_material-1/split_lib_dependencies_apk.apk",
これは私が持っているXMLファイルです
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context=".LoggedIn">
<Android.support.v4.view.ViewPager
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:id="@+id/pager">
<com.google.Android.material.tabs.TabLayout
Android:id="@+id/tabs"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<com.google.Android.material.tabs.TabItem
Android:icon="@drawable/b"
Android:text="tab1" />
<com.google.Android.material.tabs.TabItem
Android:icon="@drawable/b"
Android:text="tab2"/>
<com.google.Android.material.tabs.TabItem
Android:icon="@drawable/b"
Android:text="tab3"/>
</com.google.Android.material.tabs.TabLayout>
</Android.support.v4.view.ViewPager>
</RelativeLayout>
主な活動私はまだ何も追加していません。これは完全に練習ですので、コードに小さな間違いがある場合は教えてください。
編集:私もgradleファイルを添付しています
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.vvdntech.design_material"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.Android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.Android.support:design:28.0.0-alpha3'
}
& https://material.io/develop/Android/components/tab-layout/ タブがビューページャー内にあるこのリンクを使用しています。
事前にthnx
エラーの原因はcom.google.Android.material.tabs.TabLayout
は、サポートライブラリからではなく、@ Doflaminhgoが指摘したように、材料設計ライブラリから来ています。
dependencies {
// ...
implementation 'com.google.Android.material:material:1.0.0'
// ...
}
Android リファレンスドキュメント は、セクション内のどこにあるかを明らかに言及せずに、マテリアルコンポーネントの使用について説明している理由はわかりません。
これは少し遅れていますが、将来これを検討している人にとっては:
使用する必要があるパッケージはcom.google.Android.material.tabsではない(マテリアルデザインWebサイトで使用されているものですが)ですが、Android.support.design .widget代わりに(TabLayoutとTabItemの両方)。以下に使用例を示します。
<Android.support.design.widget.TabLayout
Android:id="@+id/tabs"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<Android.support.design.widget.TabItem
Android:icon="@Android:drawable/ic_menu_help"
Android:text="Active"
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"/>
<Android.support.design.widget.TabItem
Android:icon="@Android:drawable/ic_menu_help"
Android:text="History"
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"/>
<Android.support.design.widget.TabItem
Android:icon="@Android:drawable/ic_menu_help"
Android:text="Ignored"
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"/>
</Android.support.design.widget.TabLayout>
Gradleファイルのサポートライブラリを調べてください。すべてのサポートライブラリは同じバージョンである必要があります。おそらく混合バージョンの問題です。