как использовать getlinecount () в TextView Android

Я хочу знать, сколько строк в моем текстовом представлении. я уже установил текст mytextview, а затем хочу узнать, сколько строк в mytextview.

Я использую mytextview.getLineCount (), но это не сработало. это всегда возвращает 0.

Кто-нибудь может мне помочь.

 Ram kiran13 июл. 2012 г., 11:25
 cammando06 февр. 2017 г., 19:25
Возможный дубликатtextview.getLineCount always 0 in android

Ответы на вопрос(6)

Вы можете проверить параметры 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

Вернуть количество строк текста илиreturns 0 if the internal Layout has not been built.

Решение Вопроса

Спасибо за все. я уже решил это я использую поток, чтобы получить linecount так же, как это

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

    }
    countLine = textView.getLineCount(); 

}

надеюсь, что это поможет, если у вас есть такая же проблема. с наилучшими пожеланиями.

 16 янв. 2013 г., 04:20
Этот код опасен, если количество строк "IS" 0. Поток будет зацикливаться вечно.
 20 июн. 2013 г., 10:16
это поможет решить вышеуказанную проблему - & gt; замещатьwhile loop сwhile(textView.getLineCount() == 0 && ! textView.getText().toString().isEmpty());

Ниже приведено количество строк текстового представления в том же месте, где вы установили 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();
 26 авг. 2015 г., 22:17
пожалуйстаedit с дополнительной информацией. Я знаю, что вы видели других, но только для кода и "попробуйте это" ответыdiscouragedпотому что они не содержат контента для поиска и не объясняют, почему кто-то должен "попробовать это". Мы прилагаем все усилия, чтобы быть источником знаний.

Вам нужно опубликовать метод для получения количества строк. Вот пример кода

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

    @Override
    public void run() {

        int lineCount    = imageCaption.getLineCount();

        Log.v("LINE_NUMBERS", lineCount+"");
    }
});
 12 мая 2014 г., 17:55
getLineCount по-прежнему будет возвращать 0 в этом сценарии, по крайней мере, когда он находится внутри ListView.

Пожалуйста, проверьте эту ссылку.

Редактирование текста в Android: получите LineCount в onCreate () действия

tv.getLineCount () всегда будет возвращать 0, если внутренний макет еще не создан.

Ваш ответ на вопрос