0

我有一个按钮,ID 为 button1。当您单击按钮时,它会打开另一个活动,您可以在其中输入文本,当您再次按下后退按钮时,它会保存文本并显示在按钮上。但我只想在按钮上显示前 10 个左右的字符。这可能吗?

这是一些代码:

Button item1 = (Button)findViewById(R.id.button1);
        item1.setText(PrefConnector.readString(this, PrefConnector.ONE, null));

字符串PrefConnector.readString(this, PrefConnector.ONE, null)的连接很长,大约一个段落。所以我只希望前 10 个字符出现在按钮上,如果可能的话,最后一个椭圆表示还有更多文本。

谢谢

4

1 回答 1

3

要修改字符串本身,请使用substring()

String ellipsed = PrefConnector.readString(this, PrefConnector.ONE, null);
if(ellipsed.length() > 10)
    ellipsed = ellipsed.substring(0, 10) + "...";
item1.setText(ellipsed);

或者,您还应该能够在 Button 的 XML 中定义最大宽度,并允许它在必要时使用省略号:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="end"
    android:maxWidth="50dp" />
于 2012-11-26T22:21:41.523 回答