public class Activity01 extends Activity implements OnClickListener,
ViewFactory {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout main_view = new LinearLayout(this);
m_Switcher = new ImageSwitcher(this);
main_view.addView(m_Switcher);
m_Switcher.setId(SWITCHER_ID);
m_Switcher.setFactory(this);
m_Switcher.setOnClickListener(this);
setContentView(main_view);
...
}
public void onClick(View v) {
...
}
}
上面的代码来自Android项目,而下面的函数的参数设置为'this',为什么?
m_Switcher.setOnClickListener(this);
根据javadoc,这里应该如下:
public void setOnClickListener (View.OnClickListener l)
这意味着论证应该是这样的:View.OnClickListener
为什么'这个'可以存在?谢谢!
注意:根据答案,我在上面提供了更完整的代码。
答案 0 :(得分:7)
在课堂宣言中,您会找到extends
或implements
OnClickListener
。这意味着该类可以用作OnClickListener
(因为它是一个,除其他外)。这就是为什么你可以在这里使用这个。