Как использовать getlinecount() в TextView Android
Я хочу знать, сколько строк в моем текстовом представлении. я уже установил текст mytextview, а затем хочу узнать, сколько строк в my text view.
Я использую mytextview.getLineCount(), но это не сработало. это всегда возвращает 0.
Кто-нибудь может мне помочь.
6 ответов
Спасибо за все. я уже решил это. я использую поток, чтобы получить linecount так же, как это
@Override
public void run() {
// TODO Auto-generated method stub
while(textView.getLineCount() == 0){
}
countLine = textView.getLineCount();
}
надеюсь, что это поможет, если у вас есть такая же проблема. с наилучшими пожеланиями.
Вам нужно опубликовать метод для получения количества строк. Вот пример кода
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;
}
Пожалуйста, проверьте эту ссылку.
Android Edittext: получить LineCount в onCreate() деятельности
Функция tv.getLineCount() всегда будет возвращать 0, если внутренний макет еще не создан.
Ниже приведено количество строк текстового представления в том же месте, где вы установили tv.setText().
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();
public int getLineCount ()
С тех пор: API Уровень 1
Возвращает количество строк текста или возвращает 0, если внутренний макет не был построен.