我想知道我的文本视图中有多少行。我已经设置了 mytextview 文本,然后我想在 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+"");
}
});
您可以检查 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;
}
公共 int getLineCount ()
自:API 级别 1
返回文本行数,如果内部布局尚未构建,则返回 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();
谢谢大家。我已经解决了。我像这样使用线程来获取行数
@Override
public void run() {
// TODO Auto-generated method stub
while(textView.getLineCount() == 0){
}
countLine = textView.getLineCount();
}
如果您有同样的问题,希望这会有所帮助。最良好的问候。