Android: несколько текстовых представлений как один текст

если вам нужно отформатировать несколько текстовых представлений один за другим, как уникальный блок текста, есть ли способ добиться этого?

так

__________________________
|                        |
|                        |
| aaaaaa bbbbbbbbbbbbbbb |
| bbbbbbbbbb cccccc dddd |
| ddddddddddddd.         |
|                        |

я не могу поместить текстовое представление в LinearLayout, потому что я получу этот эффект:

__________________________
|                        |
|                        |
| aaaaaa bbbbbbbbbbbbbbb |
|        bbbbbbbbbb      |
|                        |
|                        |

Есть идеи?

ОБНОВЛЕНИЕ: РЕШЕНО С SPANNABLES

    String[] testString = { "this is a test ", "for testing click in different region", "of the textview"};
    LinearLayout linear = new LinearLayout(this);
    TextView textview = new TextView(this);
    textview.setMovementMethod(LinkMovementMethod.getInstance());
    SpannableStringBuilder builder = new SpannableStringBuilder();
    int start = 0;
    int end = 0;

    for (String span : testString) {
        start = end == 0 ? end : end + 1;
        end = start + span.length();
        final String spanned = span;
        builder.append(span);
        builder.setSpan(new ClickableSpan() {

            @Override
            public void onClick(View widget) {
                Log.e("Clicked on:", spanned);
            }
        }, start, end, 0);
        Log.e("TEST", span);
    }

    textview.append(builder);

    linear.addView(textview);
    setContentView(linear);

person CLucera    schedule 23.10.2013    source источник


Ответы (1)


вы можете использовать FlowLayout, если вам это действительно нужно. Но если вы можете, вы должны использовать один textView и форматировать текст, используя spannables .

person Leonidos    schedule 23.10.2013
comment
FlowLayout заставит текстовое представление смещаться в новой строке с самого начала, если необходимо разбить текстовое представление и заставить его начинать справа от предыдущего текстового представления, как в примере. - person CLucera; 23.10.2013
comment
Затем используйте spannables. Какое форматирование вы хотите применить? - person Leonidos; 23.10.2013
comment
мне нужно использовать каждое текстовое представление в качестве кнопки (мне нужно щелкнуть в абзаце и сделать его выбранным), если вы проверите пример номер 1, если я нажму на b, мне нужно изменить весь цвет b textview - person CLucera; 23.10.2013
comment
используйте spannable - person Leonidos; 23.10.2013