是否可以知道可见单词的数量?不全长?

时间:2015-03-10 17:23:40

标签: android textview

是否可以知道可见单词的数量?不全长?

我从100个单词添加到textView字符串。但可见只有10个字。我怎么知道只有10个字?

Log.e("asdas", String.valueOf(messageView.length()));

不工作

对不起,如果这个问题太复杂了:((

2 个答案:

答案 0 :(得分:0)

我不知道为什么你需要这个,但在这里:

int start = textView.getLayout().getLineStart(0);
int end = textView.getLayout().getLineEnd(textView.getLineCount() - 1);
String displayed = textView.getText().toString().substring(start, end);
int visibleWords = displayed.split(" ").length

答案 1 :(得分:0)

对于任何有兴趣并获得NullPointerException的人,这是Christian的答案的一个有效示例:

    ViewTreeObserver vto = textView.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                int start = textView.getLayout().getLineStart(0);
                int end = textView.getLayout().getLineEnd(textView.getLineCount() - 1);
                String displayed = textView.getText().toString().substring(start, end);
                int visibleWords = displayed.split(" ").length;
            }
        });