0

我已经实现了一个gridview,并且我一直在从示例中将它一起破解,以了解它是如何工作的。我创建了适配器,当我开始实现监听器时,我发现它是这样实现的。

private OnItemClickListener mColourClickListener = new OnItemClickListener() 
{
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id){
        Log.d("LISTENER","Position Clicked ["+position+"]");
        }

};

为什么这与列表视图不同,为什么它的方法在变量声明后用大括号实现?

非常感谢,

4

1 回答 1

2

您正在创建实现OnItemClickListener接口的匿名类的新实例。这比定义新类然后创建该类的新实例要容易。匿名类允许您在需要的地方定义类内联。侦听器通常是一次性使用的,因此它们通常被定义为匿名类。

于 2011-09-07T11:45:19.040 回答