【问题标题】:To set adapter for a Expandable listview为可扩展列表视图设置适配器
【发布时间】:2015-05-04 07:45:36
【问题描述】:

我正在尝试为可扩展列表视图设置适配器,如下所示:

public class CompanyProfileAdapter extends BaseExpandableListAdapter {

Context context;
ArrayList<SearchListView> searchresultList;
ArrayList<IndustryListView> industryListViews;

public CompanyProfileAdapter(Context context,
        ArrayList<IndustryListView> industryListViews,
        ArrayList<SearchListView> searchresultList) {
    // TODO Auto-generated constructor stub
    this.context = context;
    this.searchresultList = searchresultList;
    this.industryListViews = industryListViews;
}

@Override
public Object getChild(int groupPosition, int childPosition) {
    // TODO Auto-generated method stub
    return industryListViews.get(this.searchresultList.get(groupPosition)).get(childPosition);
}

这里我收到以下错误:“ArrayList 类型中的方法 get(int) 不适用于参数 (SearchListView)”

在上述代码的最后一行。谁能帮我解决这个问题。

【问题讨论】:

  • 你在哪一行出现错误?你能发布你的堆栈跟踪
  • 很抱歉给您带来了困惑。我在 getChild() 方法的返回语句中遇到错误。
  • 方法 -> industryListViews.get(int index) 接受 int,而不是 SearchListView。

标签: android listview android-adapter expandablelistadapter expandable


【解决方案1】:

确实会很高兴有更多的信息。通常,当您报告错误时,请尝试从您的 logcat 复制/粘贴此错误的堆栈跟踪。

无论如何,我感觉您的问题即将出现,因为您没有正确更新“getChildrenCount”和“getGroupCount”方法。

在这种方法中,您应该根据列表的长度进行更新:

@Override
public int getChildrenCount(int groupPosition) 
{
    return searchresultList.size();
}


@Override
public int getGroupCount() 
{
    return industryListViews.size();
}

我将 IndustryListViews 作为组/标题列表,并将 searchresultList 作为子列表。

【讨论】:

    【解决方案2】:

    您正在使用两个不同的数组列表.. 我认为问题是。

        ArrayList<SearchListView> searchresultList;
        ArrayList<IndustryListView> industryListViews;
    

    看看你的代码哪里出错了。 你写的

    return industryListViews.get(this.searchresultList.get(groupPosition)).get(childPosition);
    

    实际上这种代码不适用于ArrayList。 你需要像这样使用 HashMap private HashMap&lt;String, ArrayList&lt;String&gt;&gt; industryListViews;

    有关此的更多信息,您可以按照本教程进行操作 ExpandableListView

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2014-07-14
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多