无法解析符号 "ConvertView"

Cannot resolve symbol "ConvertView"

我正在按照本教程实施 Expandable ListViewhttps://www.youtube.com/watch?v=GD_U0-N3zUI&t=404s 我做了和里面一样的一切,但是:

@Override
    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
        String title=(String)this.getGroup(i);
        if(convertView==null){
            LayoutInflater layoutInflater=(LayoutInflater)this.ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView=layoutInflater.inflate(R.layout.parent);

        }
        return null;
    }

我收到此错误:"Cannot resolve symbol convertView"

试过:

I did everything same as in it

不,你没有。如果您仔细观看视频,您会发现视频中的参数名称不同。

I'm getting this error: "Cannot resolve symbol convertView"

那是因为 convertView 没有在你的代码中定义。 (在视频中是)。

您可以通过更改参数名称来修复它:

public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)

这里的关键(针对你的问题)是第三个参数View convertView

另一种选择是在所有使用 convertView 的地方使用您的变量名 view

更新:inflate 函数需要布局资源 ID(例如 R.layout.parent 对应的 XML 文件应该存在于 rea/layout 文件夹中)作为第一个参数.您正在传递 ID 资源。

只需将您的代码替换为以下代码:

    @Override public View getGroupView(int i, boolean b, View convertView, ViewGroup viewGroup) 
{ String title=(String)this.getGroup(i);
 if(convertView==null){ LayoutInflater layoutInflater=(LayoutInflater)this.ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
convertView=layoutInflater.inflate(R.layout.parent, null); } return convertView; }