Android 错误帮助!语法和MSelectedListener

Android 错误帮助!语法和MSelectedListener,android,syntax,android-spinner,Android,Syntax,Android Spinner,好吧,我对这个很陌生,但我明白了。我刚刚遇到了这个错误,我看到其他人也有同样的问题,但是标准修复(clean)对我不起作用。我不知道如何修复这些错误!救命啊 第一个错误: 在我的else if语句中的sp2.setOnItemSelectedListener(新的OnItemSelectedListener(){上,我一直遇到以下错误: 类型new AdapterView.OnItemSelectedListener(){}必须实现继承的抽象方法AdapterView.OnItemSelecte

好吧,我对这个很陌生,但我明白了。我刚刚遇到了这个错误,我看到其他人也有同样的问题,但是标准修复(clean)对我不起作用。我不知道如何修复这些错误!救命啊

第一个错误:

在我的else if语句中的
sp2.setOnItemSelectedListener(新的OnItemSelectedListener(){
上,我一直遇到以下错误:

类型new AdapterView.OnItemSelectedListener(){}必须实现继承的抽象方法AdapterView.OnItemSelectedListener.onNothingSelected(AdapterView)

我在那里选择了onnothings,它在我的if语句中工作,我的意思是我所做的只是复制、粘贴和编辑

第二个错误:

}上在else if语句末尾,我得到错误:

语法错误,请插入“;”以完成语句

但一切都在那里。声明完成了

sp1.setOnItemSelectedListener(new OnItemSelectedListener() {

    public void onItemSelecteds(AdapterView<?> arg0, View arg1,
            int arg2, long arg3) {


             String reg_select = (sp1.getSelectedItem().toString());
                 if (reg_select.contentEquals("Southwest")){
                     sp2.setAdapter(sw_cit_adp); 
                     sp2.setOnItemSelectedListener(new OnItemSelectedListener() {

                            public void onItemSelected(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {
                                // TODO Auto-generated method stub

                             String sw_cit_select = (sp2.getSelectedItem().toString());
                             if (sw_cit_select.contentEquals("Lake Charles")){
                                 sp3.setAdapter(sw_lake_charles_adp); }

                             else if (sw_cit_select.contentEquals("Iowa")){
                                 sp3.setAdapter(sw_iowa_adp); }


                            ;}

                            public void onNothingSelected(AdapterView<?> arg0) {
                                // TODO Auto-generated method stub

                            };});}

                 else if (reg_select.contentEquals("South Central")){
                         sp2.setAdapter(sc_cit_adp); 
                         sp2.setOnItemSelectedListener(new OnItemSelectedListener() {

                                public void onItemSelected(AdapterView<?> arg0, View arg1,
                                        int arg2, long arg3) {
                                    // TODO Auto-generated method stub

                                 String sc_cit_select = (sp2.getSelectedItem().toString());
                                 if (sc_cit_select.contentEquals("Lafayette")){
                                     sp3.setAdapter(sc_lafayette_adp); }

                                 else if (sc_cit_select.contentEquals("Gueydan")){
                                     sp3.setAdapter(sc_gueydan_adp); }


                                ;}
                                public void onNothingSelected(
                                        AdapterView<?> arg0) {
                                    // TODO Auto-generated method stub

                                }



                                ;
                               });
                         }
sp1.setOnItemSelectedListener(新的OnItemSelectedListener(){
选定的公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
String reg_select=(sp1.getSelectedItem().toString());
如果(注册选择内容等于(“西南”)){
sp2.设置适配器(sw_cit_adp);
setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
字符串sw_cit_select=(sp2.getSelectedItem().toString());
如果(西南城市选择内容等于(“查尔斯湖”)){
sp3.setAdapter(sw_lake_charles_adp);}
else if(sw_cit_select.contentEquals(“爱荷华州”)){
设置适配器(sw_iowa_adp);}
;}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
};});}
else if(注册选择内容等于(“中南部”)){
sp2.设置适配器(sc_cit_adp);
setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
字符串sc_cit_select=(sp2.getSelectedItem().toString());
if(sc_cit_select.contentEquals(“拉斐特”)){
设置适配器(sc_lafayette_adp);}
else if(sc_cit_select.contentEquals(“Gueydan”)){
sp3.setAdapter(sc_gueydan_adp);}
;}
无选举权的公共无效(
适配器视图arg0){
//TODO自动生成的方法存根
}
;
});
}

你的方法放错地方了。你不能选择一个项目,也不能选择任何东西,这是不合理的

您需要将该方法放在侦听器下,如
onItemSelected
,但不能放在
onItemSelected

这就是它应该(基本上)的样子:

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int pos, long id) {
        // Your code to do something with the selected item
        }
    });
spinner.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
未选择公共无效(AdapterView父级){
}
@凌驾
已选择公共视图(AdapterView父视图、视图、,
内部位置,长id){
//您的代码用于对所选项目执行某些操作
}
});

哦,您需要使用准确的方法名称…它是
onItemSelected
而不是
onItemSelected

请参见我的编辑。您需要使用正确的方法名称并正确关闭调用(
});
而不仅仅是
}
)。在onItemSelected修复中,我现在得到了重复的方法onItemSelected(AdapterView,View,int,long)输入new AdapterView.OnItemSelectedListener(){}是的,每个Listener只能使用一次该方法。我理解这一点,但我希望sp2根据sp1中的选择进行填充,sp3根据sp2中的选择进行填充。它适用于if语句,而else if语句给我带来了麻烦。这就是我不理解它的原因。if语句非常完美,它的工作原理是这样的,所以我复制并粘贴了if-else的代码,并在正确的位置编辑它,以加载所需的信息,然后它就失效了。在我出现所有这些错误之前,我在选择Lafayette时遇到了一个强制关闭,但我想这是因为我没有为else-if语句定义操作,所以我去添加在,开始出现错误。