我使用Eclipse :v21.1.0-569685,情况之一是来自网站的示例代码,但是它会导致错误“newAdapterView.OnItemSelectedListener(){}类型必须实现继承的抽象方法AdapterView.OnItemSelectedListener.onNothingSelected(AdapterView)”
所以我不得不用第二种情况,但有时第一种情况是可以的,发生了什么?谢谢!
案例1
private void InitSpinner(){
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
nameList.toArray(new String[nameList.size()]));
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerFolder.setAdapter(adapter1);
spinnerFolder.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this,
"cw", 2000).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}案例二
private void InitSpinner(){
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,
nameList.toArray(new String[nameList.size()]));
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerFolder.setAdapter(adapter1);
spinnerFolder.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(MainActivity.this,
"cw", 2000).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}发布于 2013-05-16 15:18:50
@Paul
参数名称必须相同吗?
不,参数名称不一定是一样的。因此,这两个代码是完全相同的,并将以同样的方式工作。
为什么我得到了
The type new AdapterView.OnItemSelectedListener(){} must implement the inherited abstract method AdapterView.OnItemSelectedListener.onNothingSelected(AdapterView)错误?
我想您一定是从其他项目的代码中复制了这部分代码,或者一定是通过某个站点直接从internet复制的。在这里,您已经复制了正确的语法,但是没有对相同的.进行正确的导入。
试试..。
Ctrl+Shift+O组织所有必需的进口.
希望能帮上忙.
https://stackoverflow.com/questions/16583555
复制相似问题