可以1024,1024的读到内存里,软引用保存当前,一次只加载一小部分显示,编辑就用Edittext,保存就seek到那个位置然后替换原来的文字就好了

解决方案 »

  1.   

    其实我想做的只有TXT  读到内存花不了多少时间
    就是在加载到TextView的时间很久
    每次只加载一部分也能做到
    不过想做一个对文本位置的监听想不到办法  
    换句话说  比如加载好的文本  我快看完了  需要加载后面的 
    我该怎么发现什么时候该加载下一段?
    你说的SEEK是哪个方法呢  我在textview和edittext和IO里面都没找到。
      

  2.   

    比如说你的文本内容为"abcJKH0"
    第一次读到了'c'
    第二次就从'j'开始读了,
    long point=new String("abc").length();
     RandomAccessFile file=new RandomAccessFile("ran.txt","rw");
    file.seek(point);
    然后从file中读后面的
      

  3.   

    我懂你说的什么意思了
    不过我现在卡的地方是
    已经加载了一段很长的文本进textview
    我怎么从textview里面定位我究竟现在读到哪了?
      

  4.   


    我懂你说的什么意思了
    不过我现在卡的地方是
    已经加载了一段很长的文本进textview
    我怎么从textview里面定位我究竟现在读到哪了?

    那要看你怎么显示的了,如果TextView有滚动条就,textview.getText().length()*scroolbar.getScrollY(),就能得到你读到那了
    是一屏显示的就得到当前的String, 然后position=String.indexof(string);
    总之就是在退出时计算正在显示的文本在文件中的位置
      

  5.   

    textView.append("每次要显示的内容");
      

  6.   


    好吧  一语惊醒梦中人  我2了  忘记这个方法
    我还一直想的textview直接加载大文件会很恼火
    一直想从流里面入手  谢谢提醒
      

  7.   

    那要看你怎么显示的了,如果TextView有滚动条就,textview.getText().length()*scroolbar.getScrollY(),就能得到你读到那了
    是一屏显示的就得到当前的String, 然后position=String.indexof(string);
    总之就是在退出时计算正在显示的文本在文件中的位置
    谢谢回答了我那么多问题   很有收获
      

  8.   

      求楼主告知 怎么分开加载内容到textview里面,我也在弄阅读器,阅读功能这里我读取一个大的txt文本显示在textview里面很慢啊,怎么做呢