как использовать getlinecount () в textview android
Я хочу знать, сколько строк в моем текстовом представлении. я уже установил текст mytextview, затем я хочу получить, сколько строк он принимает в mytextview.
Я использую mytextview.getLineCount (), но это не сработало. она всегда возвращает 0.
может кто-нибудь помочь мне.
6 ответов
вам нужно опубликовать метод для извлечения подсчетов строк. Вот пример кода
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 ()
Since: API Level 1
возвращает количество строк текста, или возвращает 0, если внутренний макет не был построен.
пожалуйста, проверьте эту ссылку.
Android Edittext: получить LineCount в onCreate()
телевизор.getLineCount (), всегда будет retirn 0, если внутренний макет еще не создан.
следующее обеспечит количество строк textview в том же месте, где вы установили телевизор.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();
спасибо за все. я уже все решил. я использую поток, чтобы получить linecount так же, как это
@Override
public void run() {
// TODO Auto-generated method stub
while(textView.getLineCount() == 0){
}
countLine = textView.getLineCount();
}
надеюсь, что это поможет, если у вас такая же проблема. Лучшее пожелание.