我想用自定义的方式扩展现有的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中声明样式。但我不想为我创建的每个自定义合成器声明一个样式,我只是希望它们看起来与它们的父组件完全一样,我只是在它们上面添加自定义处理但它们看起来都一样。