0

我正在按照本教程实施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;
    }

我收到此错误:“无法解析符号 convertView”

试过: 在此处输入图像描述

4

2 回答 2

0

我做的一切都和里面一样

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

我收到此错误:“无法解析符号 convertView”

那是因为convertView未在您的代码中定义。(在视频中是这样)。

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

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

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

另一种选择是在view任何地方使用你的变量名convertView

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

于 2017-11-26T15:39:13.667 回答
0

只需用以下代码替换您的代码:

    @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; }
于 2017-11-26T15:46:51.857 回答