2012-05-18 47 views
0

我所做的是不显示EditText的全部内容...我有一个字符串太长,我只想看到三个点。不显示EditText的全部内容

任何人都知道该怎么办?

+0

这并没有多大意义 - “EditText”是为了让用户可以编辑文本(顾名思义)。如果用户看不到所有的文字,他们应该如何编辑它? – Squonk

+0

在我的应用程序中,我将条形码的值带到EditText,将禁用EditText,条形码的值非常长,因此我只需显示其中的一部分 – JulioStyle88

+0

请参阅下面的答案。 – Squonk

回答

0

从edittext中获取文本并将其保存为字符串变量。然后你可以在Java中使用一些逻辑来完成剩下的工作。

int maxLength = AMOUNT_YOU_WANT_TO_BE_THE_MAXIMUM; 
if(String.length() > maxLength) 
    EditText.text = EditText.text.substring(0, maxLength) + "..."; 

我假设你知道如何获得EditText字段的文本。如果没有,请问。

+0

答案是好的,但我的EditText的值将改变...我的EditText的值包含一个长字符串,只显示部分+ ...,但其值会更改。 – JulioStyle88

+0

在这种情况下,你不能只跟踪保存到实际String上的局部变量吗?下一次有人试图再次编辑文本时,您可以快速替换旧字符串来解决该问题。 –

1

如果您只想显示文本并且不希望用户对其进行编辑,请使用TextView而不是EditText

在XML布局文件中,只需使用android:ellipsize属性即可截断文本并添加'...'。

+0

TextView.setEllipsize(TruncateAt.MARQUEE); 如图所示,我可以做我想要的字符 – JulioStyle88

+0

当放在滚动条下时,全文只显示三个点:'( – JulioStyle88

+0

setMaxLines(1);其显示1行...并且不显示所有字母。 – JulioStyle88