RecyclerView中的item的match_parent属性失效问题解决方案。

  • Post author:
  • Post category:其他


解决方案:

1.  item使用RelativeLayout布局,并且布局中的view至少有一个layout_alignParentRight=true
2. 在adapte中的onCreateViewHolder,使用


   public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//        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;
    }
至今为止,Google了一轮都没有找到产生这个问题的原因,小编就不自量力一下,挖个秦始皇出来!

原理说明:

代码一、
  View.inflate(parent.getContext(), R.layout.item_fra_main2, parent);
    对应的是:LayoutInflate.inflate(resource , parent, true);//在RecycleView下奔溃
代码二、
  View.inflate(parent.getContext(), R.layout.item_fra_main2, null);
    对应的是:LayoutInflate.inflate(resource , null, false);//match_parent属性失效
代码三、
    mInflater.from(mContext).inflate(R.layout.item_fra_main2, parent, false);    
    对应的是:LayoutInflate.inflate(resource , parent, false);//就需要这种方案

分析一:

先看代码一的奔溃问题,奔溃



版权声明:本文为OverseasAndroid原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。