TextView просматривает только последнюю строку, когда я пытаюсь создать новую строку в файле - PullRequest
0 голосов
/ 26 декабря 2018

Я создал файл, который печатает определенную строку данных, и мне нужно, чтобы он делал это повторно в новых строках.Тогда я хочу поместить это в текстовое представление.Однако, когда я пытаюсь напечатать его в новой строке с помощью «\ n \ r» или напечатать ln, он просматривает только одну строку данных вместо всех.

Я попробовал все, и я знаю, что это не проблема с перезаписью данных, потому что это работает, если я не создаю новую строку.В нем просто нет пробелов, что не имеет смысла для меня.

Это код создания файла

PrintWriter output = null;
    File file = new File(getApplicationContext().getFilesDir(), "past.txt");
    output = new PrintWriter(new FileWriter(file, true));
    output.print(format_1 + " Overall positivity was " + sprog + "\n");
    output.close();

и часть read / setText.

try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(getApplicationContext().getFilesDir(),"past.txt")),StandardCharsets.UTF_8))){

        String line;

        while ((line=br.readLine()) != null){
            results.setText(line);
        }

Может ли быть что-то с самим TextView, что вызывает проблему?Или это что-то внутри кода?

XML textView

<TextView
    android:id="@+id/pastresults"
    android:layout_width="349dp"
    android:layout_height="402dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:text="@string/textview"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.526"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.913"
    android:textSize="25sp"/> 

Большое спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Используйте это при записи файла

PrintWriter output = null;
    File file = new File(getApplicationContext().getFilesDir(), "past.txt");
    output = new PrintWriter(new FileWriter(file, true));
    output.print(format_1 + " Overall positivity was " + "\n"+sprog);
    output.close();`
0 голосов
/ 26 декабря 2018

Сначала вам нужно создать StringBuffer, добавить каждый line

StringBuffer text= new StringBuffer();
String line="";
while ((line=br.readLine()) != null){
          text.append(line);
        }

И, наконец, установить переменную

results.setText(text);
...