Android EditText和大量文本

时间:2013-03-25 06:39:32

标签: android android-edittext large-data

我在一些能够编辑文本文件的应用程序上工作。但是我对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文本编辑器,它可以很好地处理大型文本数据......任何人都可以帮助我或指导我如何解决这个问题? 谢谢 安东

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你必须使用扫描仪来阅读文本文件。

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

edit.setText(stringBuilder );