gpt4 book ai didi

Android TextView.getLayout() 返回 null

转载 作者:行者123 更新时间:2023-11-30 00:27:50 27 4
gpt4 key购买 nike

每次配置更改后,我都尝试从 Textview 获取 Layout 对象中的空值。包含代码的方法从 onResume() 调用。

我怀疑我需要为它做一些额外的设置。

我研究过类似的问题,但没有明确的答案。

配置更改后布局已准备就绪的事件是什么?是否有相关文档?

已编辑:

public class BookDisplayAct extends Activity implements View.OnClickListener {
...
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.textViewMain);
textView.setPadding(15, 15, 15, 15);
...
}

@Override
protected void onResume() {
...
renderBookView();
}

public void renderBookView() {
...
justifyText(spannable, textView);
...

}

private Spannable justifyText(Spannable spannable, TextView textView) {
Layout layout = textView.getLayout();
int line_count = layout.getLineCount();
...
}

我在最后一行得到 NullPointer 异常。

最佳答案

只需如下更改您的 justifyText 方法

 private Spannable justifyText(Spannable spannable, TextView textView) {
ViewTreeObserver observer= textView.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Layout layout = textView.getLayout();
int line_count = layout.getLineCount();
}
});
...
}

关于Android TextView.getLayout() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com