if (getURLitem.length() >= 15) {
int stringLimit = 15;
final String smallURL = getURLitem.substring(0, stringLimit);
//show short string in textview...
TextView urlLink = (TextView) findViewById(R.id.url_link);
urlLink.setText(smallURL);
// Set On click listener and open URL below
...........
} else {
//show full string in textview...
TextView urlLink = (TextView) findViewById(R.id.url_link);
urlLink.setText(getURLitem);
// Set On click listener and open URL below
...........
}
7条答案
按热度按时间xiozqbni1#
一些其他的回答声称“没有办法通过内置特性将java中的字符串限制在某个有限的数量”,并建议滚动自己的。然而,Java EE验证API就是为了这个目的。一个例子:
有关如何使用验证API的详细信息,请参见this thread示例。Hibernate validator是参考实现(usage)。
简而言之,当将对象注解为@Valid时,将强制执行注解中完成的验证。
q35jwt9p2#
在java中,没有办法通过内置特性将字符串限制在某个有限的数目。字符串是不可变的,并且接受你在其构造函数中提供的值。你需要手动编写代码来完成这一点。
使用
length()
函数确定字符串的长度,并且不允许长度大于6。其中一个选项是掷回例外状况,然后在其他地方行程它。或者,您可以在遇到问题后立即向使用者显示警示。
euoag5mw3#
您建议的方法不正确。请尝试使用:
例如:
rjjhvcjd4#
您可以尝试这样的方法:从用户那里获取输入,然后使用以下函数验证该字符串。
gt0wga4j5#
SubString()不适用于此。如果输入字符串的长度小于限制StringIndexOutOfBoundsException将抛出。我认为您可以使用StringBuilder来实现此目的。
qacovj5a6#
在这种情况下,
annotation
机制可能会很有用,当然,如果你知道这是什么的话。您可以建立自己的注解,例如:
并像这样使用它:
然后,您必须在特殊的后处理器中对此类对象进行后处理,您必须手动创建该后处理器。
kiz8lqtg7#
URL长度缩减示例