我想知道怎样才能得到TextView的行数。我的意思是,我知道他们有以下代码:
textview.setText(“Some text”);
textview.post(new Runnable() {
@Override
public void run() {
int lineCount = textview.getLineCount();
logw("Test", "Number of line :" + lineCount);
}
});你可以在这里找到我的xml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:text="Procedente igitur mox tempore cum adventicium nihil inveniretur, relicta ora maritima in Lycaoniam adnexam Isauriae se contulerunt ibique densis intersaepientes itinera pr"/>但问题是:
在我的xml中,我放了一个setMaxLine =3,所以在方法运行中,它总是返回3行,而不是4-5行或更多。
我不知道是否清楚。
发布于 2017-04-13 17:25:47
您可以尝试在文本视图上设置addTextChangedListener,如下所示:
textview.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// perform your process
Log.e("line count", String.valueOf(textview.getLineCount()));
}
});发布于 2017-04-13 17:26:38
试试这个:
textview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
textview.getViewTreeObserver().removeOnGlobalLayoutListener(this);
textView.getLayout().getLineCount()
}
});https://stackoverflow.com/questions/43387740
复制相似问题