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