错误:hashmap中的put(java.lang.string,list<;string>;)无法应用于(java.util.list<;java.lang.string>;)

错误:hashmap中的put(java.lang.string,list<;string>;)无法应用于(java.util.list<;java.lang.string>;),java,android,arrays,hashmap,Java,Android,Arrays,Hashmap,我是一个初学者,正在学习教程,只是不明白我做错了什么。我试着问一下教程的主人,但没有任何运气。我在尝试构建和消耗性菜单时收到标题中提到的错误。listGroup给出了从第72行到第76行的错误(listItem.put(listGroup.get(0),list1;)。看起来我用错了HashMap。我使用的是Android Studio 3.6.1。请帮帮我。提前谢谢你 package com.mystartup.start; import android.os.Bundle; import

我是一个初学者,正在学习教程,只是不明白我做错了什么。我试着问一下教程的主人,但没有任何运气。我在尝试构建和消耗性菜单时收到标题中提到的错误。listGroup给出了从第72行到第76行的错误
(listItem.put(listGroup.get(0),list1;)
。看起来我用错了HashMap。我使用的是Android Studio 3.6.1。请帮帮我。提前谢谢你

package com.mystartup.start;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.ExpandableListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MenuActivity extends AppCompatActivity {
    ExpandableListView expandableListView;
    List<String> listGroup;
    HashMap<String,List<String>> listItem;
    MainAdapter adapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);
        assert getSupportActionBar() != null;   //null check
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);   //show back button

        expandableListView = findViewById(R.id.expanded_listview);
        listGroup = new ArrayList<>();
        listItem = new HashMap<>();
        adapter = new MainAdapter(this,listGroup,listItem);
        expandableListView.setAdapter(adapter);
        initListData();
    }

    private void initListData() {
        listGroup.add(getString(R.string.group1));
        listGroup.add(getString(R.string.group2));
        listGroup.add(getString(R.string.group3));
        listGroup.add(getString(R.string.group4));
        listGroup.add(getString(R.string.group5));

        String[] array;

        List<String> list1 = new ArrayList<>();
        array = getResources().getStringArray(R.array.group1);
        for (String item : array){
            list1.add(item);
        }
        List<String> list2 = new ArrayList<>();
        array = getResources().getStringArray(R.array.group2);
        for (String item : array){
            list2.add(item);
        }
        List<String> list3 = new ArrayList<>();
        array = getResources().getStringArray(R.array.group3);
        for (String item : array){
            list3.add(item);
        }
        List<String> list4 = new ArrayList<>();
        array = getResources().getStringArray(R.array.group4);
        for (String item : array){
            list4.add(item);
        }
        List<String> list5 = new ArrayList<>();
        array = getResources().getStringArray(R.array.group5);
        for (String item : array){
            list5.add(item);
        }
        listItem.put(listGroup).get(0),list1;
        listItem.put(listGroup).get(1),list2;
        listItem.put(listGroup).get(2),list3;
        listItem.put(listGroup).get(3),list4;
        listItem.put(listGroup).get(4),list5;
        adapter.notifyDataSetChanged();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.options_menu, menu);

        return true;
    }
    @Override
    public boolean onSupportNavigateUp(){
        finish();
        return true;
    }

}
package com.mystartup.start;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuInflater;
导入android.widget.ExpandableListView;
导入androidx.appcompat.app.appcompat活动;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
公共类菜单活动扩展了AppCompatActivity{
ExpandableListView ExpandableListView;
列表组;
HashMap列表项;
主适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
断言getSupportActionBar()!=null;//null检查
getSupportActionBar().setDisplayHomeAsUpEnabled(true);//显示后退按钮
expandableListView=findViewById(R.id.expanded\u listview);
listGroup=newarraylist();
listItem=newHashMap();
适配器=新的主适配器(此、列表组、列表项);
expandableListView.setAdapter(适配器);
initListData();
}
私有void initListData(){
add(getString(R.string.group1));
add(getString(R.string.group2));
add(getString(R.string.group3));
add(getString(R.string.group4));
add(getString(R.string.group5));
字符串[]数组;
List list1=新的ArrayList();
array=getResources().getStringArray(R.array.group1);
for(字符串项:数组){
清单1.添加(项目);
}
List list2=新的ArrayList();
array=getResources().getStringArray(R.array.group2);
for(字符串项:数组){
清单2.添加(项目);
}
List list3=新的ArrayList();
array=getResources().getStringArray(R.array.group3);
for(字符串项:数组){
清单3.添加(项目);
}
List list4=新的ArrayList();
array=getResources().getStringArray(R.array.group4);
for(字符串项:数组){
清单4.添加(项目);
}
List list5=新的ArrayList();
array=getResources().getStringArray(R.array.group5);
for(字符串项:数组){
清单5.添加(项目);
}
listItem.put(listGroup.get)(0),list1;
listItem.put(listGroup.get)(1),list2;
listItem.put(listGroup.get)(2),list3;
listItem.put(listGroup.get)(3),list4;
listItem.put(listGroup.get)(4),list5;
adapter.notifyDataSetChanged();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。选项菜单,菜单);
返回true;
}
@凌驾
公共布尔onSupportNavigateUp(){
完成();
返回true;
}
}
Strings.xml代码:

<resources>
    <string name="app_name">Start</string>
    <string name="name">Profile:</string>
    <string name="menu">Menu</string>
    <string name="search">Search</string>
    <string name="group1">Group 1</string>
    <string name="group2">Group 2</string>
    <string name="group3">Group 3</string>
    <string name="group4">Group 4</string>
    <string name="group5">Group 5</string>
    <string-array name="group1">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string-array name="group2">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string-array name="group3">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string-array name="group4">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string-array name="group5">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>


</resources>

开始
轮廓:
菜单
搜寻
第一组
第2组
第3组
第4组
第5组
项目1
项目2
项目3
项目1
项目2
项目3
项目1
项目2
项目3
项目1
项目2
项目3
项目1
项目2
项目3

您在此处使用了错误的语法:

listItem.put(listGroup).get(0),list1;
来自
Map
API的
put
方法包含2个参数。这两个参数都需要包装,如下所示:

listItem.put((listGroup).get(0), list1);

您在此处使用了错误的语法:

listItem.put(listGroup).get(0),list1;
来自
Map
API的
put
方法包含2个参数。这两个参数都需要包装,如下所示:

listItem.put((listGroup).get(0), list1);

谢谢!我快疯了,你救了我!没问题。此错误应该由IDE概述。如果您不使用,我强烈建议您使用。Eclipse是免费的,在社区中非常常用,但当然还有其他的。谢谢!我快疯了,你救了我!没问题。此错误应该由IDE概述。如果您不使用,我强烈建议您使用。Eclipse是免费的,在社区中非常常用,但当然还有其他的。