Добавление пробела в TextView в Eclipse, чтобы сделать каждый столбец фиксированной длины - PullRequest
1 голос
/ 13 ноября 2011

Я использую текстовый файл, в котором хранятся 3 столбца данных, каждый из которых имеет различную длину.

Это следующий код, который я пробовал до сих пор. Я хочу, чтобы каждый столбец был выровнен по левому краю. По какой-то причине это работает, если я использую звездочку, а не если я пытаюсь вручную вставить пробел.

(строка читает 3 слова из моего текстового файла)

Попытка № 2:

while((line = buf.readLine())!= null){

    StringTokenizer st = new StringTokenizer(line);

    int length = 12;

    a = st.nextToken();
    while (a.length() <= length)
    {
        a = a + "*";
    }
    b = st.nextToken();

    while (b.length() <= length)
    {
       b = b + "*";
    }
    c = st.nextToken();

    text.append(a + b + c + '\n');
}

Это была моя первоначальная попытка, но она тоже не сработала: text.append (String.format ("% - 15s \ t% -10s \ t% -5s \ t \ n", a, b, c));

Любые идеи будут с благодарностью.

1 Ответ

0 голосов
/ 13 ноября 2011

Ключевым моментом здесь является не использование только одного TextView для ваших трех столбцов.Вы хотите использовать разные TextView для каждого столбца и контролировать форматирование каждого TextView в отдельности.Какой тип макета вы используете?Если вы переключитесь на макет таблицы , то будет легко оставить оправдание того, что вы хотите.Если ваш файл будет иметь переменную длину, используйте ListView , который имеет три различных текстовых представления в каждой строке, а затем выравнивает по левому краю каждое текстовое представление.

...