调用addview后如何实时的获取到每行的行数
时间: 2024-04-11 22:26:41 浏览: 13
要实时获取每行的行数,您可以使用FlexboxLayout的addOnLayoutChangeListener()方法来监听布局的变化,并在布局改变时获取每行的行数。以下是一个示例代码:
```java
FlexboxLayout flexboxLayout = findViewById(R.id.flexboxLayout);
flexboxLayout.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View view, int left, int top, int right, int bottom,
int oldLeft, int oldTop, int oldRight, int oldBottom) {
// 获取每行的行数
List<FlexLine> flexLines = flexboxLayout.getFlexLines();
int rowCount = flexLines.size(); // 总行数
for (FlexLine flexLine : flexLines) {
int itemCount = flexLine.getItemCount(); // 每行的子视图个数
// 处理每行的子视图个数
}
}
});
```
在addOnLayoutChangeListener()的回调方法中,您可以通过getFlexLines()方法获取布局过程中计算出的每行信息,并处理每行的子视图个数。请注意,该回调方法会在每次布局改变时被调用,因此您可以实时获取到每行的行数。