CardView在RecyclerView中突然间隔开了

时间:2016-05-21 23:11:50

标签: java android android-recyclerview adapter

RecyclerView中的我的CardView看起来与此格式类似

  • original

现在它是间隔的

  • problem spacing

这发生在一周前。我以为我错放了一行代码。不知道我做了什么。我认为这是我最终会发现的一个小错误....

有一刻,适配器很好,然后下一刻,它全部间隔开。我看过当地的历史等等。我找不到我的所作所为。

如果它不是什么小的,请怀疑我的项目中的RecyclerView库以某种方式搞砸了,因为我在另一个区域使用的另一个适配器也有间距问题。但是,我从未去过那里附近。

但是,我已经在网上从另一个项目复制粘贴了另一个RecyclerView适配器并且它在我的网上运行正常,所以我相信我在某个地方找不到我找不到的错误。 更新3/22 我设法在找到所有这些之前找到了备份。我将“坏”代码复制并粘贴到无污染的备份中,并且适配器看起来像是应该的。然而,它并没有像原来那样出现。

CustomAdapter.java

template<class T1, class A1, class T2, class A2>
std::vector<T1, A1> sort_by(
  std::vector<T1,A1> const& vin, std::vector<T2,A2> const& keys
){
  std::vector<std::size_t> is;
  is.reserve(vin.size());
  for (auto&& unused:keys)
    is.push_back(is.size());
  std::sort(begin(is),end(is),[&](std::size_t l, std::size_t r){
    return keys[l]<keys[r];
  });
  std::vector<T1, A1> r;
  r.reserve(vin.size());
  for(std::size_t i:is)
    r.push_back(vin[i]);
  return r;
}

MainFragment.Java

private bool? _isChecked = false;
public bool? IsChecked
{
    get { return _isChecked; }
    set
    {
        _isChecked = value;
        OnPropertyChanged();
        DetermineVisualState();
    }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我改变了所有我的android:layout_width和android:layout_height,其中cardviews是,&#34; wrap_content&#34;而不是&#34; match_parent)

谢谢你 RecyclerView v23.2.0 and blank space after swiping up

虽然,它并没有解释为什么我的代码在导出到其他项目时工作正常。