final ArrayAdapter adapter = new ArrayAdapter(...);
listView.setOnItemClickListener(new AdapterView.OnitemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent,View view,int position,long id){
Word word = adapter.getItem(position);
}
});
我不明白爲什麼匿名內部類調用「適配器」對象應該聲明爲「最終」?這是一個規則嗎?我應該記住嗎? 我知道聲明爲final的變量將保存其引用而不會改變。但在上面的例子中,沒有引用的改變,我只是在最終對象上調用一個方法。爲什麼匿名內部類在外部對象聲明爲最終時調用外部對象
它是有效的最終 – Jerry06
匿名內部類解決一個簡單而有效的方法的一些惱人的問題。當我們無法擴展最終的類時,它們還允許您在Adapter類處理事件時創建更高效的代碼。 – Tehmina