添加部分以使用动态数组在运行时循环查看

时间:2016-01-21 02:46:53

标签: android android-recyclerview

我正在尝试在回收视图中添加section / header  因为我们必须处理

中的部分内容
override func viewDidLoad() {
    super.viewDidLoad()

    let myPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: "myPanAction:")
    self.player.view.addGestureRecognizer(myPanGestureRecognizer)
}

func myPanAction(recognizer: UIPanGestureRecognizer) {
    let translation = recognizer.translationInView(self.view)
        if let myView = recognizer.view {
            myView.center = CGPoint(x: myView.center.x, y: myView.center.y + translation.y)
        }
        recognizer.setTranslation(CGPointZero, inView: self.view)

        if recognizer.state == UIGestureRecognizerState.Ended {
            let velocity = recognizer.velocityInView(self.view)

            if velocity.y > 100 {
                dismissViewControllerAnimated(true, completion: nil)
            } else {
                // Reposition Back                   
            }
        }
}

}

但我有arraylist有n个数据。所以说第1部分可能有10行,其中第2部分可能有2行。所以如何在这种情况下定义部分。我知道这是第1部分的结尾?并把第二个

1 个答案:

答案 0 :(得分:0)

迭代每个模型并记住每个模型项的上一个部分名称。当您找到新的部分名称时,只需映射索引。

在适配器中,返回的项目数量少于数据集。

@Override
public int getItemCount(){
   return mData.size() + mSections.size();
}

始终使用position + 1,因为您总是领先一个位置。

每当您到达属于映射索引的位置时,返回部分类型并相应地绑定它:

@Override
 public int getItemViewType(int position) {
// here your custom logic to choose the view type
  return isPositionSectionIndex(position) ? VIEW_TYPE_SECTION: VIEW_TYPE_ITEM;
}