TextView获取每行的内容

来源:互联网 发布:glide源码原理 编辑:程序博客网 时间:2024/06/07 02:57

如果直接使用tv.getLayout()为null,源码给出了解释:
/**
* @return the Layout that is currently being used to display the text.
* This can be null if the text or width has recently changes.
*/
public final Layout getLayout() {
return mLayout;
}
解决办法延迟几秒钟

tv=(TextView)findViewById(R.id.tv);Layout layout=tv.getLayout();//layout.draw(canvas);int line=tv.getLayout().getLineCount();String result="";String text=layout.getText().toString();for(int i=0;i<line-1;i++){    int start=layout.getLineStart(i);    int end=layout.getLineEnd(i);    result+=text.substring(start, end)+"\\n";}int start=layout.getLineStart(line-1);int end=layout.getLineEnd(line-1);result+=text.substring(start, end);System.out.println("result"+result);
原创粉丝点击