【问题标题】:Group Position returns always 0组位置总是返回 0
【发布时间】:2015-11-06 00:54:26
【问题描述】:

我已经解决这个问题至少 5 个小时了,我无法解决这个问题。我有可扩展的列表视图,并且 groupposition 始终返回为 0。因此。我从中取出数据的 HashMap 总是从一个值开始。我在“getChildView”中注销了 childposition 和 groupposition,但它总是以 0 开头

@Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        if(convertView == null){

            CategoryItem x = (CategoryItem)getChild(groupPosition, childPosition);
            Log.d("EGILS",Integer.toString(groupPosition)+" "+Integer.toString(childPosition));
            LayoutInflater layoutInflater = (LayoutInflater)this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = layoutInflater.inflate(R.layout.child_row, null);

            TextView name = (TextView)convertView.findViewById(R.id.child_Virsraksts);
            TextView price = (TextView)convertView.findViewById(R.id.child_Cena);
            name.setText(x.getItem_name());
            price.setText("€"+Double.toString(GV.round(x.getPrice_notax(),2)));

        }
        //return secondlvl;
       return convertView;

    }

这是我让我的 childView 出来的功能,然后是 getChild

@Override
    public Object getChild(int groupPosition, int childPosition) {
    Log.d("GINTS2", Integer.toString(childPosition) + " " + this.categoryItems.get(this.subcategories.get(groupPosition).getId()).get(childPosition).getItem_name());

        return (Object)this.categoryItems.get(this.subcategories.get(groupPosition).getId()).get(childPosition);
    }

有趣的是,当我在 get childview 中注销 groupposition 时,我总是得到 0

//1st GROUP PRESSED
11-06 02:50:41.551  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 0

 11-06 02:50:41.561  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 1

11-06 02:50:41.566  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 2

 11-06 02:50:41.571  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 3
//2nd GROUP PRESSED
11-06 02:50:47.052  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 0
//3rd GROUP PRESSED
 11-06 02:50:50.533  19665-19665/com.martinssinka.projektaizmaksas D/EGILS﹕ 0 0

注销GetGroupView(组位置)

11-06 12:07:17.609  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 0 -
11-06 12:07:17.624  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 1 -
11-06 12:07:17.624  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 2 -
11-06 12:07:17.676  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 0 -
11-06 12:07:17.676  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 1 -
11-06 12:07:17.676  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 2 -
11-06 12:07:17.677  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 0 -
11-06 12:07:17.677  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 1 -
11-06 12:07:17.683  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 2 -
11-06 12:07:17.689  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 0 -
11-06 12:07:17.691  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 1 -
11-06 12:07:17.691  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 2 -
11-06 12:07:17.725  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 0 -
11-06 12:07:17.726  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 1 -
11-06 12:07:17.726  30767-30767/com.martinssinka.projektaizmaksas D/GROUPPo﹕ 2 -

【问题讨论】:

  • 你的getGroupCount返回什么值?
  • 你不考虑convertView不为空的情况
  • @njzk2 它返回 3。return this.subcategories.size(); 如果 convertView 有问题,它甚至不会显示日志。
  • 您可以注销getGroupView 中的groupPosition 吗?
  • 适合自己。但我告诉你问题 is 你没有处理 convertView 不为空的情况。而且它没有向您显示这些视图的日志,因为如果阻塞,您正在内部登录。

标签: java android expandablelistview expandablelistadapter


【解决方案1】:

所以我所做的是创建新项目并将所有类和布局复制到新项目中。并且像魅力一样工作。

不知道发生了什么,我认为这可能是一个小故障。

【讨论】:

    猜你喜欢
    • 2013-10-16
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 2014-03-20
    • 2013-04-13
    • 2013-03-30
    相关资源
    最近更新 更多