Android ExpandableListView具有自定义项目的复杂布局

Android ExpandableListView具有自定义项目的复杂布局,第1张

概述我正在开发一个android应用程序,但遇到了要实现的复杂布局层次结构.该应用程序将列出一个咖啡厅的菜单.截至目前,菜单如下所示:该列表实现为RecyclerView.视图的自定义适配器负责每个元素的 *** 作.触摸一个元素会增加定单价格,并将1加到所有选定元素中.您也可以单击数字以获取代答对

我正在开发一个android应用程序,但遇到了要实现的复杂布局层次结构.该应用程序将列出一个咖啡厅的菜单.截至目前,菜单如下所示:

该列表实现为RecyclerVIEw.视图的自定义适配器负责每个元素的 *** 作.触摸一个元素会增加定单价格,并将1加到所有选定元素中.您也可以单击数字以获取代答对话框并更改金额.

您可以想象那里有很多代码.

这是我要实现的理论布局:

我专注于内部ExpandableListVIEw.基本上我想按食物,饮料等对菜单项进行分类.

我的问题是我不知道如何保留项目布局的“复杂性”.我已经设法仅使用项目名称创建了一个简单的ExpandableListVIEw,如下所示:

但是我真的不知道如何使用我为ExpandableListVIEw中的先前布局创建的项目适配器.不幸的是,我不能共享太多代码,但是我并不需要代码片段,而是更多关于如何实现此功能的指导,想法,技巧…这是我的第一个AndroID应用程序:-)

任何帮助将不胜感激.

非常感谢!

解决方法:

好吧,我找到了解决我问题的方法,但最终并没有那么复杂.我会尝试总结一下,以防有人遇到同样的情况.

首先,您将必须为ExpandableListVIEw创建一个自定义适配器.我以前的RecyclerVIEw确实有一个自定义适配器,它使用了VIEwHolder模式,这使我感到困惑.

实际上,This示例对于了解如何实现自定义适配器非常有用.覆盖的重要方法是getChildVIEw.用这种方法可以构造整个子视图.

@OverrIDepublic VIEw getChildVIEw(int Listposition, final int expandedListposition,                             boolean isLastChild, VIEw convertVIEw, VIEwGroup parent) {        final MenuItem item = (MenuItem) getChild(Listposition, expandedListposition);        if (convertVIEw == null) {            LayoutInflater layoutInflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);            convertVIEw = layoutInflater.inflate(R.layout.menu_item, null);        }        // Save final reference to be able to access it in inner classes        final VIEw finalConvertVIEw = convertVIEw;        // Set the item name        TextVIEw itemname = (TextVIEw) convertVIEw.findVIEwByID(R.ID.item_menu_name);        itemname.setText(item.getname());        // Set item price        TextVIEw itemPrice = (TextVIEw) convertVIEw.findVIEwByID(R.ID.item_menu_price);        itemPrice.setText(item.getFormattedPrice());

这不是完整的代码,但是您可以看到如何在menu_item.xml布局中获取视图并填充它们:-)

在我使用Android data bingind之前,但我不知道如何在没有VIEwHolder的情况下使用它.

总结

以上是内存溢出为你收集整理的Android ExpandableListView具有自定义项目的复杂布局全部内容,希望文章能够帮你解决Android ExpandableListView具有自定义项目的复杂布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1120725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存