2 u012569890 u012569890 于 2014.05.13 11:01 提问

Spinner级联操作时实现继承的抽象方法

Spinner sp=(Spinner)findViewById(R.id.spinner1);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
String province=arg0.getItemAtPosition(arg2).toString(); //得到省份
ArrayAdapter adapter=null;
Spinner sp2=(Spinner)findViewById(R.id.spinner2);
switch(ProvinceList.valueOf(province)){
case 湖北省:
adapter = ArrayAdapter.createFromResource(
MainActivity.this,
R.array.HB_city_array, //用对应的string-array填充spinner2
android.R.layout.simple_spinner_item );

adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item); //设置下拉样式
sp2.setAdapter(adapter); //填充
break;
case 湖南省:
default:
}

然后有两处错误,一处是第二行的参数列表new AdapterView.OnItemSelectedListener()
错误提示The type new AdapterView.OnItemSelectedListener(){} must implement the inherited abstract method AdapterView.OnItemSelectedListener.onNothingSelected(AdapterView<?>)

还有一处是ArrayAdapter adapter;错误提示Duplicate local variable adapter

1个回答

qq_25074461
qq_25074461   2015.02.03 20:22

第一处错误是提示你还得重写onNothingSelected(),如果不需要做什么操作可不写方法体
@Override
public void onNothingSelected(AdapterView<?>{}加上就行了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
抽象类继承抽象类可以不重写父类的抽象方法,普通类继承抽象类必须重写父类中的抽象方法,实现接口也是同样的道理
抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法。如果子类不是抽象类,则要求子类一定要实现父类中的抽象方法。 接口类继承,如果是一个子接口,可以扩展父接口的方法;如果是一个子抽象类,可以部分或全部实现父接口的方法;如果子类不是抽象类,则要求子类一定要实现父接口中定义的所有方法。
请问Java中抽象类中的抽象方法是否一定要被继承类实现?
如果这个方法是抽象的,那么子类必须重写。 除非子类也是一个抽象类。。。
继承中方法的重写和抽象类
子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。'' 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容          比如手机,当描述一个手机时,它具有发短信,打电话,显示来电号码功能,后期由于手机需要在来电显示功能中增加显示姓名和头像,
子类继承抽象父类的方法和抽象父类的子类的一些问题
问题:子类继承抽象父类的方法,子类重写全部的父类抽象方法,但是不写方法体。那子类还是抽象的么? 详细:例如 父类public abstract void a();子类写 void a(){}不写方法体 ,可以咩。。必须要实现才可以么。。。?随便写点方法体? 回答: void a(){ } 里面 {} 就是方法体了,算是实现父类方法了。 如果写成 void a(); 这个还是抽象方法。
scala基础17-多重继承/混入特质需重写抽象方法
class Human { println("Human") } /* * 和java不同,trait可以继承普通的类 * trait不能实例化 */ trait TTeacher extends Human { println("TTeacher") def teach } trait PianoPlayer extends Human { println("Piano
请问java中,抽象类里的抽象方法都要在它的子类中全部实现吗?能不能有些抽象方法不实现?
请问java中,抽象类里的抽象方法都要在它的子类中全部实现吗?能不能有些抽象方法不实现?  分享| 2015-05-27 21:22忆晨儿 | 浏览 1161 次  来自:手机知道  java 2015-05-27 21:32 #2016年高质量新标准全面升级!# 提问者采纳 凡是实现类必须要完整的重写所有的方法。(实现类!)部分不重
idea如何快速实现抽象方法
public class AppConfig extends JFinalConfig{} 要实现父类JFinalConfig里的方法,将鼠标定位的该行,按alt+enter 然后选择所以方法,确定即可
自定义Spinner
继承BaseAdapter实现自定义布局的Spinner
C#——面向对象——继承——抽象类和抽象方法
抽象方法比虚方法更虚 abstract public void Func(); 没有实际的函数体,只能在派生类中用override重写产生函数体(与虚方法的区别) 抽象成员有哪儿些呢? 方法、属性、事件、索引 什么是抽象类呢? 如果一个类中包含有抽象方法的时候,这个类就是抽象类。类前必须加abstract 什么时候用抽象呢? 当基类中的成员在派生类中情况都不一样时,就要用抽象了
C#中的继承 (继承、抽象类和抽象方法、接口)
一、继承什么是继承:继承是允许重用现有类去创建新类的过程。分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性。1、继承C#中的类:C#不支持多重继承,C#类始终继承自一个基类(如果未在声明中指定一个基类,则继承自System.Object)。派生类继承基类的语法如下:using System;public class Person{//这是基类}public class Studen