接口有没有被子类继承?

王春浩troy
  • 356

rt,如ListView 继承自 AbsListView ,AbsListView 又继承自 AdapterView,而AdapterView定义了一个内部接口OnItemClickListener,public的。
那么我的问题是:能用ListView. OnItemClickListener而不是AdapterView. OnItemClickListener实现事件监听么?如果内部接口被继承,子类应该可以访问父类的OnItemClickListener,但是试了下好像不行。。。
想听下语法解释,不好意思基础差啊。。。。

回复
阅读 3.3k
2 个回答
li21
  • 3.1k
✓ 已被采纳

OnItemClickListener是接口,不是内部类。接口需要你去implement。
一般的做法是:
listview.setOnItemClickListener(mListener);
然后定义这个listener,并实现其接口规定的方法。

Update

不理解你如此定义new ListView. OnItemClickListener()的意图,但之所以出错,也许你是没有导入import android.widget.AdapterView.OnItemClickListener;

从形式上看,下面三种都可以,它们都是实现了由AdapterView定义的接口:

new OnItemClickListener()
new AdapterView.OnItemClickListener()
new ListView.OnItemClickListener()

而如果你尝试导入import android.widget.ListView.OnItemClickListener; 会得到错误

The import android.widget.ListView.OnItemClickListener cannot be resolved
OnItemClickListener cannot be resolved to a type

代码宇宙
  • 15.6k

楼主你的代码贴出来看看呗?

宣传栏