AdapterView匿名对象

时间:2012-05-16 00:46:15

标签: java android android-adapterview

我是java和android的新手。我不明白这段代码

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    }); 

这是我的猜测:OnItemClickListener是一个界面。我们从AdapterView类创建一个匿名对象。 我得到的信息是AdapterView.OnItemClickListener是来自AdapterView.OnItemClickListener

的接口

是不是?

1 个答案:

答案 0 :(得分:0)

是的,本质上这个机制为您提供了一种方法来指定在事件发生时将运行的代码块。在这种情况下,事件是GridView的onItemClick()。这种模式在Android上有点常用。您可以覆盖接口方法以执行任何操作,系统将在操作发生时调用它们。

我建议您在Android API中探索此模式的一些更常见的示例。查看几个View小部件的javadoc,特别是public void setOn{ACTION}Listener()有很多可能的操作,点击和触摸是两个常见的小部件。

在文档中查看android.wiget。顶部附近有一个很大的接口列表。其中有几个是与此类似的Listener接口。