gpt4 book ai didi

java - 定义自定义问题 :inputType for ClearableEditText

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:34 26 4
gpt4 key购买 nike

我正在尝试使用 custom:inputType="text" custom:inputType="phone" 。帮助我,edit_text 始终设置defvalue。但索引值有问题如果我使用 format="integer" 那么

R.java

给出错误。

这是main.xml

<com.example.ClearableEditText.ClearableEditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
custom:hintText="@string/name"
custom:inputType="text" />
</LinearLayout>

attr.xml .其中我使用 inputType 的格式作为整数

<declare-styleable name="ClearableEditText">
<attr name="hintText" format="string" />
<attr name="inputType" format="integer">
<flag name="text" value="0x00000001" />
<!--
Can be combined with <var>text</var> and its variations to
request capitalization of all characters. Corresponds to
{@link android.text.InputType#TYPE_TEXT_FLAG_CAP_CHARACTERS}.
-->
<flag name="phone" value="0x00000003" />
<!--
For entering a date and time. Corresponds to
{@link android.text.InputType#TYPE_CLASS_DATETIME} |
{@link android.text.InputType#TYPE_DATETIME_VARIATION_NORMAL}.
-->
</attr>
</declare-styleable>

这是类的代码ClearableEditText

void initViews(Context context, AttributeSet attrs) {

TypedArray a = context.getTheme().obtainStyledAttributes(attrs,
R.styleable.ClearableEditText, 0, 0);

try {
hintText = a.getString(R.styleable.ClearableEditText_hintText);
inputType=a.getResourceId(R.styleable.ClearableEditText_inputType, android.text.InputType.TYPE_CLASS_TEXT);
} finally {
a.recycle();
initViews();
}
}

void initViews() {
inflater = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.second, this, true);
edit_text = (EditText) findViewById(R.id.clearable_edit);
btn_clear = (Button) findViewById(R.id.clearable_button_clear);
btn_clear.setVisibility(RelativeLayout.INVISIBLE);
edit_text.setHint(hintText);
edit_text.setInputType(inputType);
}

最佳答案

我发现了错误。哈哈,我正在使用这个 getResourceId(int,int);但 attr.xml 我已将其声明为整数。

inputType=a.getResourceId(R.styleable.ClearableEditText_inputType,android.text.InputType.TYPE_CLASS_TEXT);

但将其视为整数修复每个。

inputType=a.getInteger(R.styleable.ClearableEditText_inputType,android.text.InputType.TYPE_CLASS_TEXT);

关于java - 定义自定义问题 :inputType for ClearableEditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25599295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com