9

我想知道我的文本视图中有多少行。我已经设置了 mytextview 文本,然后我想在 mytextview 中获取它需要多少行。

我使用 mytextview.getLineCount() 但它没有用。它总是返回 0。

有人能帮我吗。

4

6 回答 6

31

您需要发布获取行数的方法。这是示例代码

imageCaption.setText("Text Here");
imageCaption.post(new Runnable() {

    @Override
    public void run() {

        int lineCount    = imageCaption.getLineCount();

        Log.v("LINE_NUMBERS", lineCount+"");
    }
});
于 2012-10-10T13:34:43.180 回答
2

您可以检查 onCreateOptionsMenu() 内的 TextView 参数

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    TextView tv1 = (TextView)findViewById(R.id.textView);
    Rect rect = new Rect();
    int c = tv1.getLineCount();
    tv1.getLineBounds(0, rect);
    tv1.getLineBounds(1, rect);
    return true;
}
于 2013-09-18T11:56:01.167 回答
1

公共 int getLineCount ()

自:API 级别 1

返回文本行数,如果内部布局尚未构建,则返回 0。

于 2012-07-13T09:35:05.337 回答
1

请检查此链接。

Android Edittext:在 Activity 的 onCreate() 中获取 LineCount

如果尚未创建内部布局,tv.getLineCount() 将始终为 0。

于 2012-07-13T09:37:06.073 回答
1

以下将在您设置 tv.setText() 的同一位置提供 textview 的行数。

int maxTextViewWidth="ENTER MAX WIDTH HERE";

tv.setText("hello\nhow are you?");

int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(maxTextViewWidth, View.MeasureSpec.AT_MOST);

int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);

tv.measure(widthMeasureSpec, heightMeasureSpec);

int lineCount=tv.getLineCount();
于 2015-08-26T20:07:41.923 回答
-9

谢谢大家。我已经解决了。我像这样使用线程来获取行数

@Override
public void run() {
    // TODO Auto-generated method stub
    while(textView.getLineCount() == 0){

    }
    countLine = textView.getLineCount(); 

}

如果您有同样的问题,希望这会有所帮助。最良好的问候。

于 2012-07-17T09:00:36.593 回答