gpt4 book ai didi

java - 旋转时自动调用 onBindViewHolder

转载 作者:行者123 更新时间:2023-12-02 10:45:52 25 4
gpt4 key购买 nike

我正在开发我的应用程序,它要求电影海报的比例为 1:2。我找到了一种方法来做到这一点就是运行

        movieAdapterViewHolder.posterview.requestLayout();
ViewTreeObserver viewTreeObserver = movieAdapterViewHolder.cardview.getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onGlobalLayout() {
movieAdapterViewHolder.cardview.getViewTreeObserver().removeOnGlobalLayoutListener(this);
movieAdapterViewHolder.posterview.getLayoutParams().height = Double.valueOf(movieAdapterViewHolder.posterview.getWidth() * 1.5).intValue();
}
});
}

但是,这不会在旋转时立即调用。它只能从 onBindViewHolder 调用。有没有其他方法可以将 RecyclerView 中的 CardView 的高度设置为其宽度的 2 倍,或者我如何以某种方式调用 onBindViewHolder?

最佳答案

您可以通过调用 yourAdapter.notifyDataSetChanged() 通知您的适配器您所做的更改。它调用 onBindViewHolder 并使用最新更改更改您的项目 View 。

关于java - 旋转时自动调用 onBindViewHolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52584570/

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