4

我在一些能够编辑文本文件的应用程序上工作。但是我对 EditText 有严重的问题。目前我加载大小为 17KB 的文本文件。我不认为,17KB 是可怕的文本量。滚动很好,但是当我关注 EditText 并开始编辑时,它会延迟/冻结 4-5 秒。当我离开 EditText 时也会发生同样的情况。我正在使用 API 级别 8。这是我的 edittext 布局:

    <EditText android:id="@+id/journal_text"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:gravity="top|left"
                android:layout_weight="1"
                android:lines="20"
                android:inputType="textMultiLine|textNoSuggestions"
                android:scrollbars="vertical"
                android:fadeScrollbars="false"
                >

                <requestFocus />

            </EditText>

这是我的java代码:

    edit = (EditText)view.findViewById(R.id.journal_text);
    edit.setText(readFile(path));   

就这样

从 GooglePlay 我下载了应用程序 Jota 文本编辑器,它可以完美地处理大型文本数据......谁能帮助我或指导我如何解决这个问题?谢谢安东

4

2 回答 2

1

自定义 EditText 不会解决问题。当其中的文本内容变得太大时,在 EditText 中编辑会变慢。尝试使用 WebView 而不是 EditText。它也适用于非常大的文本内容。

于 2017-08-22T17:24:16.820 回答
0

您必须使用扫描仪来读取文本文件。

StringBuilder stringBuilder = new StringBuilder();
Scanner scanner = new Scanner(tempFile).useDelimiter("\\Z");
while (scanner.hasNext()) {
stringBuilder .append(scanner.next());
}

edit.setText(stringBuilder );
于 2017-09-22T05:46:27.917 回答