数组列表上的类型不兼容错误,无法分配

时间:2019-02-06 21:01:31

标签: java android arraylist

我是新程序员。在制作具有可扩展列表视图的导航抽屉的过程中,我陷入了一些不兼容的类型错误。我似乎无法理解任何缺陷。应该可以,但是会出错。

subCategoryName:
java...com.gts.plandigit.Util.SubCategory>>
subcategory_name  (java...com.gts.plandigit.Util.Category>>)

在此代码片段上->

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    mCategoryList = (ExpandableListView) findViewById(R.id.list_sliderMenu);
mCategoryList.setAdapter(new expandableListViewAdapter(PostLoginActivity.this,category_name,subcategory_name, subCatCount));
Incompatible types.
Required:
ArrayList
<com.gts.plandigit.Util.SubCategory>
Found:
ArrayList
<com.gts.plandigit.Util.Category>

在这行上->

tempList =  subcategory_name.get(groupPosition);

最后,当我将子类别添加到相关类别时,此错误

add
(java.util.ArrayList<com.gts.plandigit.Util.Category>)
in ArrayList cannot be applied
to
(java.util.ArrayList<com.gts.plandigit.Util.SubCategory>)

每次使用此行->

subcategory_name.add(subCategoryMatches);

我看不出有什么问题。它应该在将子类别对象添加到相关类别元素中时起作用。有什么建议吗?

编辑,这是我的阵列列表

private ArrayList<Category> category_name = new ArrayList<Category>();
private ArrayList <ArrayList<Category>> subcategory_name = new ArrayList 
<ArrayList<Category>>();
private ArrayList<Integer> subCatCount = new ArrayList<Integer>();

1 个答案:

答案 0 :(得分:0)

从您的所有错误日志中,我们可以看到摘要,该错误是相同的,即:

Incompatible types.
Required:
ArrayList
<com.gts.plandigit.Util.SubCategory>
Found:
ArrayList
<com.gts.plandigit.Util.Category>

这意味着您只是非自愿地使用了错误的类。您正在使用subcategory_name命名变量,但这是Category对象而不是SubCategory对象。因此,您需要对变量进行严格的命名约定。