gpt4 book ai didi

android - EditText - 有默认文本不可删除,离开EditText后用背景覆盖文本

转载 作者:太空狗 更新时间:2023-10-29 14:18:38 25 4
gpt4 key购买 nike

我正在创建一个电子邮件表单,并希望在 EditText 中包含无法删除的文本。在下面的屏幕截图中,To 无法删除。

Cannot delete From - is this possible?

如果有人对如何实现上述目标有建议,那就太好了 - 谢谢。

To EditText 框的当前代码:

<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="0dp"
android:hint="@string/email_to" >
</EditText>

问题是 android:hint 文本在用户开始发短信时消失,而 android:text 可以被用户删除。

我们怎么会有不能删除的文字呢?谢谢。

注意事项:

此外,我想指出,我有一个使用清除按钮清除文本的方法 - 这工作正常 - 但我希望它不会删除固定文本(如果我实现了!).. Here `s 的代码:

private void clearForm(ViewGroup group)
{
for (int i = 0, count = group.getChildCount(); i < count; ++i) {
View view = group.getChildAt(i);
if (view instanceof EditText) {
((EditText)view).setText("");
}

if(view instanceof ViewGroup && (((ViewGroup)view).getChildCount() > 0))
clearForm((ViewGroup)view);
}
}

解决方案:

管理一个迂回的方式来做到这一点。我在嵌套的线性布局中创建了一个 TextView 和 EditText。我使用 android:background="#00000000" 关闭了 EditText 中的边框。

我在drawable文件夹中创建了一个xml文件,并在相关的线性布局中引用它,如下所示:android:background="@drawable/customxml"

最佳答案

您可以使用 Text Watcher 监听器来完成此操作。您可以通过检查 edittext 的长度将文本保留在 edittext 中。

例如editText.setText("To")//表示长度为 2

然后在 afterTextChanged 方法中,检查 editText 中的文本是否已被删除(检查 editText 中文本的长度)

这是完整的示例代码:

    editText.setText("To");
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override
public void afterTextChanged(Editable s) {
if(s.length < 2){
editText.setText("To")//set editext with "To" again like has been initialized
editText.setSelection(editText.getText().length)// to make cursor in end of text
}
}
});

希望对您有所帮助!

关于android - EditText - 有默认文本不可删除,离开EditText后用背景覆盖文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097040/

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