无法实例化 ;android.support.design.widget.TextInputLayout

无法实例化 ;android.support.design.widget.TextInputLayout,android,android-studio,android-appcompat,android-theme,android-textinputlayout,Android,Android Studio,Android Appcompat,Android Theme,Android Textinputlayout,我正在尝试使用android.support.design.widget.TextInputLayout,但我遇到了这个异常 java.lang.IllegalArgumentException:您需要在设计库中使用Theme.AppCompat主题(或子代)。 位于android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:33) 位于android.support.design.widget.Tex

我正在尝试使用android.support.design.widget.TextInputLayout,但我遇到了这个异常

java.lang.IllegalArgumentException:您需要在设计库中使用Theme.AppCompat主题(或子代)。 位于android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:33) 位于android.support.design.widget.TextInputLayout.(TextInputLayout.java:193) 位于android.support.design.widget.TextInputLayout.(TextInputLayout.java:186) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 位于org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:465) 位于org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:172) 位于org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105) 在com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:186)上 在android.view.BridgeInflater.loadCustomView(BridgeInflater.java:334)中 在android.view.BridgeInflater.loadCustomView(BridgeInflater.java:345)中 在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:245)中 位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 位于android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858) 在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:834) 位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 在android.view.LayoutInflater.inflate(LayoutInflater.java:518) 在android.view.LayoutInflater.inflate(LayoutInflater.java:397) 在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate上(RenderSessionImpl.java:324) 位于com.android.layoutlib.bridge.bridge.createSession(bridge.java:429) 位于com.android.ide.common.rendering.layoutbrary.createSession(layoutbrary.java:389) 位于com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) 位于com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) 位于com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 位于com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) 在com.android.tools.idea.rendering.RenderTask.lambda$inflate$70(RenderTask.java:659) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745)

我的gradle模块文件包含:

compile 'com.android.support:design:26.0.1'
compile 'com.android.support:appcompat-v7:26.0.1'
activity-main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.example.eltobgy.yala.MainActivity">

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <AutoCompleteTextView
            android:id="@+id/email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="email"
            android:inputType="textEmailAddress"
            android:maxLines="1"
            android:singleLine="true" />

    </android.support.design.widget.TextInputLayout>

</LinearLayout>

styles.xml

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    </style>

    <style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/colorAccent</item>
    </style>

    <style name="label_text">
        <item name="android:textSize">19sp</item>
        <item name="android:textColor">@android:color/black</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <style name="text">
        <item name="android:textSize">14sp</item>
        <item name="android:textColor">@color/gray</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>

    </style>

    <style name="line">
        <item name="android:layout_marginBottom">8dp</item>
        <item name="android:layout_marginTop">8dp</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:background">@color/colorAccent</item>
        <item name="android:shadowColor">@color/colorAccent</item>
        <item name="android:shadowDx">0</item>
        <item name="android:shadowDy">0</item>
        <item name="android:shadowRadius">8</item>
    </style>

    <!--FIREBASE UI-->
    <style name="LoginTheme" parent="FirebaseUI">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorButtonNormal">@color/colorAccent</item>
        <item name="colorControlNormal">@android:color/white</item>
        <item name="colorControlActivated">@android:color/white</item>
        <item name="colorControlHighlight">@android:color/white</item>
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textColorPrimary">@android:color/white</item>
        <item name="android:textColorSecondary">@android:color/white</item>
        <item name="android:colorBackground">@color/colorPrimary</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:textColorHint">@android:color/white</item>
    </style>

    <style name="FirebaseUI.Text">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:fontFamily">sans-serif</item>
        <item name="android:textColor">@android:color/white</item>
    </style>

    <style name="FirebaseUI.Text.Link">
        <item name="android:textColor">@color/colorSecondary</item>
    </style>


    <color name="colorSecondary">#FFC300</color>
    <color name="gray">#FFF0</color>


</resources>

@颜色/颜色重音
19便士
@android:彩色/黑色
包装内容
包装内容
14便士
@颜色/灰色
包装内容
包装内容
8dp
8dp
匹配父项
1dp
@颜色/颜色重音
@颜色/颜色重音
0
0
8.
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@颜色/颜色重音
@android:彩色/白色
@android:彩色/白色
@android:彩色/白色
@android:彩色/白色
@android:彩色/白色
@android:彩色/白色
@颜色/原色
假的
真的
@android:彩色/白色
匹配父项
包装内容
无衬线
@android:彩色/白色
@彩色/彩色次级
#FFC300
#FFF0
MainActivity.java

package com.example.eltobgy.yala;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

import com.firebase.ui.auth.AuthUI;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.FirebaseUserMetadata;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.Arrays;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private static final String ANONYMOUS = "Anonymous";
    // Choose an arbitrary request code value
    private static final int RC_SIGN_IN = 1;
    Boolean flag_registered = false;
    // Firebase
    private FirebaseAuth mFirebaseAuth;
    private FirebaseAuth.AuthStateListener mAuthStateListener;
    private ChildEventListener mChildEventListener;
    private String mUsername;
    private DatabaseReference mDatabaseReference;
    private FirebaseDatabase mDatabase;

    private User currentUser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        mUsername = ANONYMOUS;
        mFirebaseAuth = FirebaseAuth.getInstance();
        mDatabase = FirebaseDatabase.getInstance();
        currentUser = null;
        mDatabaseReference = mDatabase.getReference().child("users");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mAuthStateListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();

                if (firebaseUser != null) {
                    // User is signed in
                    FirebaseUserMetadata metadata = firebaseAuth.getCurrentUser().getMetadata();

                    onSignedInInitialize(firebaseUser.getDisplayName());
                    Toast.makeText(MainActivity.this, "You're now signed in. Welcome " + firebaseUser.getDisplayName() + "!", Toast.LENGTH_SHORT).show();
                    DatabaseReference userDatabaseRefrence = mDatabaseReference.child(firebaseUser.getUid());
                    ValueEventListener valueEventListener = new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            currentUser = dataSnapshot.getValue(User.class);
                            if(currentUser.getCurrentType().equals("c")){
                                //customer
                                if(currentUser.isCustomerModeActivation()){
                                    //already filled details
                                    //TODO go to next activity
                                }else{
                                    //didn't fill details

                                }
                            }
                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {
                            Toast.makeText(MainActivity.this, "cancelled", Toast.LENGTH_SHORT).show();
                        }
                    };
                    userDatabaseRefrence.addValueEventListener(valueEventListener);
                } else {
                    // User is signed out
                    onSignedOutCleanup();

                    List<AuthUI.IdpConfig> providers = Arrays.asList(
                            new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
                            new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build());

                    startActivityForResult(
                            AuthUI.getInstance()
                                    .createSignInIntentBuilder()
                                    .setIsSmartLockEnabled(false)
                                    .setAvailableProviders(providers)
                                    .setTheme(R.style.LoginTheme)
                                    //.setLogo(R.drawable.ic_melomania_blue_light)
                                    .build(),
                            RC_SIGN_IN);
//RC request code, it's a flag for when we return rom starting the activity for the results.
                }
            }
        };

    }
package com.example.eltobgy.yala;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.annotation.NonNull;
导入android.support.v7.app.AppActivity;
导入android.view.Menu;
导入android.view.MenuInflater;
导入android.view.MenuItem;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.firebase.ui.auth.AuthUI;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.auth.FirebaseUserMetadata;
导入com.google.firebase.database.ChildEventListener;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.array;
导入java.util.List;
公共类MainActivity扩展了AppCompatActivity{
私有静态最终字符串ANONYMOUS=“ANONYMOUS”;
//选择任意请求代码值
专用静态最终int RC_SIGN_IN=1;
布尔标志_registed=false;
//火基
私有FirebaseAuth mFirebaseAuth;
私有FirebaseAuth.AuthStateListener mAuthStateListener;
私有ChildEventListener-mChildEventListener;
私人弦乐博物馆名称;
私有数据库引用mDatabaseReference;
私有Firebase数据库mDatabase;
私人用户当前用户;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
mUsername=匿名;
mFirebaseAuth=FirebaseAuth.getInstance();
mDatabase=FirebaseDatabase.getInstance();
currentUser=null;
mDatabaseReference=mDatabase.getReference().child(“用户”);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);