0

IDがbutton1のボタンがあります。ボタンをクリックすると、テキストを入力できる別のアクティビティが開きます。もう一度戻るボタンを押すと、テキストが保存され、ボタンに is が表示されます。しかし、ボタンに最初の 10 文字程度しか表示したくないのです。これは可能ですか?

ここにいくつかのコードがあります:

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

文字列の結合PrefConnector.readString(this, PrefConnector.ONE, null)は非常に長く、約 1 段落です。そのため、最初の 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);

または、ボタンの 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 に答える