我正在開發(fā)我的應用程序,它要求電影海報的比例為 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(); } }); }但是,這不會在旋轉(zhuǎn)時立即調(diào)用。它只會從onBindViewHolder. 有沒有其他方法可以將 RecyclerView 中 CardView 的高度設置為其寬度的 2 倍,或者我如何以某種方式調(diào)用 onBindViewHolder?
1 回答

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
您可以通過調(diào)用通知您的適配器您所做的更改yourAdapter.notifyDataSetChanged()
。它調(diào)用 onBindViewHolder 并使用最新更改更改您的項目視圖。
添加回答
舉報
0/150
提交
取消