高级控件RecycleView 设置Match_Parent 失效的解决办法

2023-05-10 19:08:03 浏览数 (2)

解决方案: 1. item使用RelativeLayout布局,并且布局中的view至少有一个layout_alignParentRight=true 2. 在adapte中的onCreateViewHolder,使用如下代码来获得View :

代码语言:javascript复制
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {  
       //下面这种办法会引起Match_Parent失效
       View view = View.inflate(parent.getContext(), R.layout.item_fra_main2, null);  
       //使用下面这行代码则不会失效
       View view = mInflater.from(mContext).inflate(R.layout.item_fra_main2, parent, false);  

     ViewHolder holder = new ViewHolder(view);  
     return holder;  
 }  

那么就有很多小伙伴就会问了, 我怎么得到这个mInflater呢?   看如下代码:

代码语言:javascript复制
LayoutInflater mInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

原理我就不再过多赘述了,有意向的小伙伴请自行谷歌.

0 人点赞