- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 RecyclerView
,我在其 View 持有者构造函数中添加了一个 onGlobalLayoutListener,如下所示
public CustomViewHolder(final View itemView, Context context) {
super(itemView, context);
itemView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Get height here
}
});
}
这会为屏幕上可见的所有 itemViews
触发,但是当我滚动 recyclerView 时,它不会为开始出现在屏幕上的 itemViews
触发屏幕。这是为什么?我如何为这些项目捕获此监听器?
最佳答案
像这样注册一个 OnLayoutChangeListener:
imageViewAvatar.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
imageViewAvatar.removeOnLayoutChangeListener(this);
// Get height here
}
});
关于android - RecyclerView itemView OnGlobalLayoutListener 不会为所有 itemView 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159492/
我以编程方式创建了几个布局,我需要获取其中一个的宽度,重新计算该值并进行更改。我在 onGlobalLayoutListener 中执行的所有这些操作。但是当我设置一个新的宽度值时,他并没有改变。 p
我正在尝试在 Activity 加载完成后计算 View 的 x,y 位置。我所做的是 view.postDelayed(runnable, 2000) 工作正常。 code reviewer 对此不
我在 onCreate() 方法中使用 ViewTreeObserver.OnGlobalLayoutListener 来获取布局的宽度。它工作得很好,但是当我在 onGlobalLayout() 中
谁能用 C# 向我解释这段 Java 代码,因为我在 Android 上使用 Mono?例如,我在 Android 的 Mono 中找不到 OnGlobalLayoutListener。 在 Andr
我希望能够使用动画扩展我的 ListView 中的行。因此我需要知道正在扩展的 View 的高度。我在 ArrayAdapter 的 getView() 方法中使用它: mDetailsView.ge
我必须使用 OnGlobalLayoutListener 对象,然后删除监听器,我遇到了不推荐使用的方法的问题,我使用以下代码解决了这个问题。 protected void onCreate(Bund
我在两个 TextView 的父 View 上使用 viewTreeObserver.addOnGlobalLayoutListener , onGlobalLayout 以获得一个的宽度和另一个的高
我正在做一个非常简单的功能,比如在 TextView 的末尾添加省略号。 我可以在 onMeasure()、onLayout() 和 OnGlobalLayoutListener() 调用中添加该功能
在我正在构建的应用程序中,有一个 ListView ,实际上是一个带有子列表的可扩展 ListView - 并且有两种情况,具体取决于单击的组列表项:有时有一个子列表项,有时有两个子列表项.当单击包含
我在我的应用程序中显示一个带有自定义项的 ListView。自从我使用来自 47deg found here 的 android-swipelistview 以来,自定义项目已经做了很多工作。 . 因
我有一个 RecyclerView,我在其 View 持有者构造函数中添加了一个 onGlobalLayoutListener,如下所示 public CustomViewHolder(final V
根据文档,第一个是 当 View 的布局边界由于布局处理而改变时调用回调的接口(interface)定义。 第二个是 当全局布局状态或 View 树中 View 的可见性发生变化时调用回调的接口(in
我有一个普通的基本回收器 View 及其适配器。 在单个回收器 View 行中,我有一个 float 的 textView。 textView 宽度长度应按比例固定,即 30 % 的屏幕。 我想放置
我是一名优秀的程序员,十分优秀!