0

I'm new to java and android. i don't understand this code

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

this's my guess : OnItemClickListener is an interface. we create an anonymous object from the class AdapterView. i got information that AdapterView.OnItemClickListener is an interface from AdapterView.OnItemClickListener

is it right ?

4

1 回答 1

0

是的,从本质上讲,这种机制为您提供了一种方法来指定在事件发生时将运行的代码块。在这种情况下,事件是 GridView 的 onItemClick()。这种模式在 Android 上比较常用。你重写接口方法来做任何你想做的事情,系统会在动作发生时调用它们。

我鼓励您在 Android API 中探索这种模式的一些更常见的示例。查看几个 View 小部件的 javadocs,特别是public void setOn{ACTION}Listener()有许多可能的操作,单击和触摸是两个常见的操作。

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

于 2012-05-16T00:51:47.793 回答