gpt4 book ai didi

java - ExpandableListView展开后组项乱序

转载 作者:太空宇宙 更新时间:2023-11-04 13:05:10 26 4
gpt4 key购买 nike

我有一个 ExpandableListView 工作正常,但有一个异常(exception)。

ExpandableListView 的工作方式就像我加载组(带有我的尺寸文本)和子项(带有我的对象文本),并在内部处理它们。如果选择了一个 child ,我就会接到电话。但不是介于两者之间。

我从不更新它,我做了 this.recreate();当数据更改时,ExpandableListView 始终具有相同的数据。我只是在创建后回调时逐个位置加载它(使用我的 DimensionItems 文本),创建一个 textView 并在其上设置文本。

    @Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.drawer_right_second, null);
TextView text = (TextView) convertView.findViewById(R.id.eventsListEventRowText);
text.setText(DimensionItems[groupPosition].title);
if( Commands.AccountingObject.getObjectTotals(Commands.AccountingDimension.getDimensionByPositions(groupPosition))==0)
convertView.setBackgroundColor(Color.DKGRAY);
}
return convertView;
}

问题症状

如果我选择并展开一个组项目(将手指放在该组项目上,这样我就可以看到子项),则以下组项目会困惑。

我有八个组项目 0、1、2、3、4、5、6、7

如果我用两个 child 扩展第 3 组,我将得到一个包含 0, 1, 2, 3, c1, c2, 6, 7, 5, 4 的列表,真的奇数吗?

我的代码中没有任何地方可以在扩展阶段进行交互,这一切都在我的代码外部的 ExpandableListView.Java 内部,并且调试器拒绝在其中放置断点。这确实很难跟踪,并且在不受干扰的情况下,没有可以在代码中放置断点的入口点。

我需要对此做些什么还是 ExpandableListView 库中的错误?

最佳答案

这是代码示例中的重写问题错误

经过长时间学习有关 ExpandableListViews 的知识但没有任何帮助后,这一切最终像往常一样成为我眼前的一个简单的可怕错误。有一个重写问题,括号内的一些代码应该在外面(每次都运行)。我有点尴尬。

它应该正确地看起来像这样,不需要 id,只需要位置。

@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.drawer_right_second, null);
}
TextView text = (TextView) convertView.findViewById(R.id.eventsListEventRowText);
text.setText(DimensionItems[groupPosition].title);
if( Commands.AccountingObject.getObjectTotals(Commands.AccountingDimension.getDimensionByPositions(groupPosition))==0)
convertView.setBackgroundColor(Color.DKGRAY);
else
convertView.setBackgroundColor(Color.BLUE);
return convertView;
}

关于java - ExpandableListView展开后组项乱序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34542696/

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