错误帮助!语法和OnItemSelectedListener

时间:2012-08-05 15:52:01

标签: android syntax android-spinner

好的,所以我对此很陌生,但我得到了它。我刚遇到这个错误,我看到其他人也有同样的问题,但标准修复(干净)对我不起作用。我不知道如何解决这些错误!请帮忙!

第一个错误:

on sp2.setOnItemSelectedListener(new OnItemSelectedListener() { in my else if statement我一直在犯这个错误:

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

我在那里有onNothingSelected,它在我的if语句中有效,我的意思是我所做的只是复制,粘贴和编辑。

第二个错误:

});的结尾处我的其他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

                                }



                                ;
                               });
                         }

1 个答案:

答案 0 :(得分:2)

你在错误的地方有这种方法。你不能选择一个项目,也不能选择任何东西,这是非感性的。

您需要将方法放在侦听器下,如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
        }
    });

哦,你需要使用确切的方法名称...它是onItemSelected 不是 onItemSelecteds