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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!