为了账号安全,请及时绑定邮箱和手机立即绑定

旋转时自动调用 onBindViewHolder

旋转时自动调用 onBindViewHolder

尚方宝剑之说 2021-10-20 15:16:27
我正在开发我的应用程序,它要求电影海报的比例为 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?
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

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


查看完整回答
反对 回复 2021-10-20
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信