Конкатенация строк не работает в линейном макете Android - PullRequest
0 голосов
/ 13 марта 2012

Мне нужно объединить две строки и отобразить в одном текстовом представлении. Эта конкатенация строк работает нормально в относительной компоновке. Но я хочу объединить в линейном макете.

Вот мой код:

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/l1"
    android:id="@+id/ll"
    android:orientation="vertical"
>
    <TextView
        android:id="@+id/hubraum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp" 
        android:text="Hubraum :"
        android:textColor="#000"
        android:textSize="12dp" 
        android:layout_gravity="left"
    />
</LinearLayout>

.java

String title  = "Hubraum: ";
String value  = bikeItemList.getHubraum();
String result = title + value;          
txtCapacity.setText(result);

Я попробовал вышеуказанный тип и следующий тип также

txtCapacity.setText("Hubraum: " +","+ bikeItemList.getHubraum());

Но отображается только bikeItemList.getHubraum(). «Hubraum:» не отображается.

Я пытался также использовать append, но он отображает bikeItemList.getHubraum() только этот текст.

Любой может знать причину.

Ответы [ 5 ]

1 голос
/ 13 марта 2012

StringBuilder b = new StringBuilder(128);

b.append(title).append(value);

b.toString();

0 голосов
/ 13 марта 2012

Проверьте, вызывается ли он из UIThread, также вы можете попробовать

txtCapacity.invalidate();

для принудительного обновления / перерисовки.

Существует также вероятность того, что ваш Java-код вообще не вызывается, попробуйте изменить текст по умолчанию с

android:text="Hubraum :"

к чему-то другому, и посмотрите, отображается ли текст по умолчанию.

0 голосов
/ 13 марта 2012

Просто используйте свойства добавления tectview только для значения bcz title, который вы уже указали в xml

    String title="Hubraum: ";
    String value = bikeItemList.getHubraum().toString();
    txtCapacity.append(value);
0 голосов
/ 13 марта 2012

Вы также можете использовать StringBuffer и добавить строку.дисплей txtCapacity.setText(strbuf.toString());

0 голосов
/ 13 марта 2012

Пожалуйста, попробуйте следующий способ,

String str = "Hubraum: " +","+ bikeItemList.getHubraum().toString();
txtCapacity.setText(str);
...