OnItemClickListener语法 - 请有人解释发生了什么以及它为什么起作用?

时间:2011-09-07 11:39:21

标签: android syntax android-gridview

我已经实现了一个gridview,并且我一直在通过示例一起攻击它,以了解它是如何工作的。我创建了和Adapter,当我来实现监听器时,我发现它是这样实现的。

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

};

为什么这与listview不同?为什么它在变量声明后用括号实现它的方法?

非常感谢,

中号

1 个答案:

答案 0 :(得分:2)

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