edittext文本无法转为数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了edittext文本无法转为数字相关的知识,希望对你有一定的参考价值。

edittext文本无法转为数字原因分析:空单元格导致错误出现,解决办法:同一个查询区和匹配区都有值,但结果还是不对。首先要排除格式问题。所以可以先确认是否有空格。按快捷键Ctrl+H,单击替换。要找到内容,我们点击空框,替换内容不会移动。单击全部替换。 参考技术A 对于您的问题,我可以告诉您,edittext文本无法转换为数字,因为它只能处理文本,而不是数字。如果要将文本转换为数字,则需要使用特定的算法来实现,比如使用正则表达式或者使用编程语言(如Java)来实现。此外,最少200字最多500字并且回答完整,不要出现重复,回答您的问题时,要注意使用正确的语法,避免重复,并且要使用正确的词汇,以便更好地表达您的意思。

同时在editText中提示和文本

我只需要一个editText,我可以在其中同时设置Text和提示。例如,我希望用户在此字符串中输入editText字符串,例如用户#1234用户#应该是文本后,数字将变化,以便当用户尝试输入光标时,1234应显示为提示,#1234提示将消失用户键入一个字符。

请指导我如何做到这一点。

谢谢

答案

我设法通过一些技巧和marginpadding来实现这一目标

这就是我做的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp" >

<TextView
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:gravity="right"
    android:text="user#" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="1234"
    android:paddingLeft="40dp"
    android:textSize="14sp" />

</RelativeLayout>

希望这会帮助你

另一答案

这在Android的默认EditText中是不可能的,但如果想要实现这一点,你将不得不工作一点。

您可以使用名为Masked-EditText的库。阅读文档并了解如何使用它来解决您的目的。希望有所帮助。

[编辑]

我还有一个你绝对可以使用的技巧。在编辑文本上实现onChangeListener。每次调用它时,都要运行一个函数。该函数应该获取editText中的文本并获取子字符串(前5个字符)。如果子字符串匹配“user#”,则不执行任何操作。否则将editText中的文本替换为“user#”。好吧哈!

另一答案

您可以通过两种方式完成此操作

#1

将用户#的图像作为drawableLeft放置到EditText

#2

使用RelativeLayoutTextViewEditText放在另一个之上,这样它就会在TextView中显示EditText中的文字,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_parent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="user#"
    android:textColor="#aaaaaaaa"
    android:textSize="30dip" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView1"
    android:layout_alignBottom="@+id/textView1"
    android:layout_toRightOf="@+id/textView1"
    android:background="#00000000"
    android:textSize="30dip">

</EditText>

以上是关于edittext文本无法转为数字的主要内容,如果未能解决你的问题,请参考以下文章

使用输入类型编号在 EditText 中设置文本

当 EditText 控件的 inputType 为数字时,如何为其设置文本

Android中EditText的InputType

Android EditText软键盘问题

无法在内部类线程中将文本设置为 EditText 或 TextView [重复]

添加 TextChanged 实现后清除 EditText 文本