gpt4 book ai didi

android - 如何用 RecycleView 显示分层数据结构?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:29:05 24 4
gpt4 key购买 nike

在 iOS 中,如果您的数据结构有两级、“部分”、“行”,那么 UITableView 非常适合呈现数据。它有两个委托(delegate)方法:

numberOfSectionsInTableView(tableView: UITableView) -> Int    
tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int

第一种方法询问部分的数量,第二种方法询问某个部分中存在多少行。

Android 中是否存在这种方法?

enter image description here

最佳答案

RecyclerView.Adapter 支持开箱即用的多种 View 类型。这取决于您要在任何特定位置显示哪种项目类型。您可以轻松地使用它来创建部分,例如,如果您定义两个项目类型 TYPE_HEADER 和 TYPE_ITEM:

@Override
public int getItemViewType(int position) {
if (isHeader(position)) {
return TYPE_HEADER;
} else {
return TYPE_ITEM;
}
}

然后,您可以使用 onCreateViewHolder 来扩充适当的布局,并使用 onBindViewHolder 来使用它。

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == TYPE_HEADER) {
View v = ... ; // inflate here
return new HeaderViewHolder(v);
} else {
View v = ... ; // inflate here
return new ItemViewHolder(v);
}
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (holder instanceof HeaderViewHolder) {
// handle header
} else if (holder instanceof ItemViewHolder {
// handle item
}
}

您可以使用您选择的数据结构。我更喜欢使用我自己实现的树状结构或只是简单的 ArrayList 和 instanceof 来检测项目是标题还是内容。

关于android - 如何用 RecycleView 显示分层数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39228288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com