我已经实现了一个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不同?为什么它在变量声明后用括号实现它的方法?
非常感谢,
中号
答案 0 :(得分:2)
您正在创建实现OnItemClickListener
接口的匿名类的新实例。它比定义新类然后创建此类的新实例更容易。匿名类允许您在需要的地方定义内联类。监听器通常一次性使用,因此它们通常被定义为匿名类。