如何在textview android中使用getlinecount()

我想知道我的文本视图中有多less行。 我已经设置了mytextview文本,然后我想要得到多less行在mytextview中。

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

有人能帮我吗。

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

imageCaption.setText("Text Here"); imageCaption.post(new Runnable() { @Override public void run() { int lineCount = imageCaption.getLineCount(); Log.v("LINE_NUMBERS", lineCount+""); } }); 

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

 @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; } 

public int getLineCount()

因为:API级别1

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

请检查这个链接。

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

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

以下将在您设置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(); 

感谢所有。 我已经解决了。 我使用线程来获得像这样的linecount

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

希望这将有助于如果你有同样的问题。 最好的问候。