扩展类android.support.design.widget.TextInputLayout时出错

时间:2016-07-25 13:27:45

标签: android inflate-exception textinputlayout

当我将我的库23.0.1更改为23.3.0时,将发生此错误,我必须更改我的库。所以给我答案和解决方案。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.inn.microwave/com.inn.microwave.LoginActivity}: android.view.InflateException: Binary XML file line #37: Error inflating class android.support.design.widget.TextInputLayout
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
   at android.app.ActivityThread.access$800(ActivityThread.java:135)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:136)
   at android.app.ActivityThread.main(ActivityThread.java:5001)
   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:785)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
   at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library.
   at android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:34)
   at android.support.design.widget.TextInputLayout.<init>(TextInputLayout.java:134)
   at android.support.design.widget.TextInputLayout.<init>(TextInputLayout.java:127)
   at java.lang.reflect.Constructor.constructNative(Native Method) 
   at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
   at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
   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 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 
   at android.app.Activity.setContentView(Activity.java:1929) 
   at com.inn.microwave.LoginActivity.onCreate(LoginActivity.java:77) 
   at android.app.Activity.performCreate(Activity.java:5231) 
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
   at android.app.ActivityThread.access$800(ActivityThread.java:135) 
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
   at android.os.Handler.dispatchMessage(Handler.java:102) 
   at android.os.Looper.loop(Looper.java:136) 
   at android.app.ActivityThread.main(ActivityThread.java:5001) 
   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:785) 
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
   at dalvik.system.NativeStart.main(Native Method)     

的build.gradle

    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
    applicationId "com.inn.microwave"
    minSdkVersion 16
    targetSdkVersion 23

扶养

compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:design:23.3.0'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:support-v4:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.android.support:cardview-v7:23.3.0'

3 个答案:

答案 0 :(得分:3)

Finnaly我解决了ERROR

我在 Manifest.xml &lt; appliction&gt;中设置了正确的主题标签,但我在我的&lt; activity&gt;中手动设置了错误的主题标签

所以,我从&lt; activity&gt;中删除主题标记 manifest.xml

答案 1 :(得分:1)

在build.gradle中添加此依赖项

实现'com.android.support:design:27.1.1'

将解决您的问题

答案 2 :(得分:0)

只需清理项目并在运行该项目之前重建它。它会解决你的问题。