Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义组件默认样式(在当前主题中找不到样式)_Android - Fatal编程技术网

Android 自定义组件默认样式(在当前主题中找不到样式)

Android 自定义组件默认样式(在当前主题中找不到样式),android,Android,我想用自定义的方式扩展现有的android小部件,但是我已经在一开始就被卡住了,我得到了以下错误:“在当前主题中找不到样式‘autoCompleteTextViewStyle’” 我的目标是为特定数据创建自定义组件,如电子邮件、电话号码或信用卡号码,我在我的应用程序中使用这些数据,然后我可以编写一次验证代码并将其应用到组件类中,这样我就不必像处理标准EditText字段那样为每个字段都附加验证器。但除此之外,它们看起来就像标准的小部件 以下是我所做的: public class EmailVie

我想用自定义的方式扩展现有的android小部件,但是我已经在一开始就被卡住了,我得到了以下错误:“在当前主题中找不到样式‘autoCompleteTextViewStyle’”

我的目标是为特定数据创建自定义组件,如电子邮件、电话号码或信用卡号码,我在我的应用程序中使用这些数据,然后我可以编写一次验证代码并将其应用到组件类中,这样我就不必像处理标准EditText字段那样为每个字段都附加验证器。但除此之外,它们看起来就像标准的小部件

以下是我所做的:

public class EmailView extends AutoCompleteTextView {
    public EmailView(Context context) {
        super(context);
    }

    public EmailView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public EmailView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
}
试着这样使用它:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <lu.intech.wega.ui.component.EmailView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>


我在一些论坛上读到,我应该在styles.xml中声明样式。但是我不想为我创建的每个自定义组件声明一个样式,我只想让它们看起来完全像它们的父组件,我只想在它们上添加自定义处理,但它们看起来是一样的。

我的问题是我的Gradle版本不是最新的(不知何故,当我从另一台计算机推送时,配置没有提交),所以我只是在build.gradle(Project:myProjet)中更改了相应的行,并重建了项目,它成功了