接口与android中的匿名类

时间:2012-05-26 18:19:00

标签: android

关于匿名类的后端工作,我有点困惑,比如我们有一个按钮,我们正在设置onclickListener

Button B = (Button)findViewById(R.id.myButton);
B.setOnClickListener(new onClickListener(){ 
          public void onClick(View V){ 
              Log.v("","Hello world");
          }
 ));

后端实际发生了什么?这是否会实现View.OnClickListener或其他的接口?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

是的,它是实现OnClickListener接口的新未命名类的实例。

答案 2 :(得分:1)

匿名类必须始终扩展类或实现接口。

b.setOnClickListener(new OnClickListener() { 
    public void onClick(View V) { 
        Log.v("", "Hello world");
    }
});

在这种情况下,您将创建一个实现View.OnClickListener接口的新匿名(未命名)类。这是有效的,因为setOnClickListener方法采用View.OnClickListener类型的参数。