2012-05-16 101 views
0

我是新來的java和android。我不明白這個代碼AdapterView匿名對象

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

接口是正確的?

+0

是的,基本上。您創建一個類型爲AdapterView.OnItemClickListener的匿名類 – you786

回答

0

從本質上講,這種機制給你一種方法來指定一個代碼塊,當事件發生時它將被運行。在這種情況下,該事件是GridView的onItemClick()。這種模式在Android上通常使用。你可以重寫接口方法來做任何你想做的事情,系統會在動作發生時調用它們。

我鼓勵你在Android API中探索一些更常見的模式例子。查看幾個View小部件的javadoc,特別是public void setOn{ACTION}Listener()有許多可能的操作,點擊和觸摸是兩個常見的操作。

在文檔中檢出android.wiget。頂部附近有一大串接口。其中有幾個是與此類似的Listener接口。