Как использовать 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, если внутренний макет не был построен.

Другие вопросы по тегам