Extensão do AdapterView

Estou tentando fazer (para fins de aprendizado) minha própria implementação de um AdapterView simples, de onde os itens vêm de um adaptador básico (ImageAdapter de amostras de sdk).

O código real é assim:

    public class MyAdapterView extends AdapterView<ImageAdapter> implements AdapterView.OnItemClickListener{
    private ImageAdapter mAdapter;
    public MyAdapterView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initThings();
    }
    private void initThings(){
        setOnItemClickListener(this);
    }
    @Override
    public ImageAdapter getAdapter() {
        // TODO Auto-generated method stub
        return mAdapter;
    }
    @Override
    public void setAdapter(ImageAdapter adapter) {
        // TODO Auto-generated method stub
        mAdapter=adapter;
        requestLayout();
    }
    View obtainView(int position) {
        View child = mAdapter.getView(position, null, this);
        return child;
    }
    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
     super.onLayout(changed, l, t, r, b);
        for(int i=0;i<mAdapter.getCount();i++){
            View child = obtainView(i);
            child.layout(10, 70*i, 70, 70);
            addViewInLayout(child, i, null, true);
        }
        this.invalidate();
    }
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        Log.d("MYEXAMPLES","Clicked an item!");
    }
}

Esta não é uma obra-prima de codificação, apenas exibe uma pseudo-lista com imagens. Eu sei que eu poderia ter usado ListView, GridView, Spinner, etc., mas sou relativamente novo no Android e estou tentando descobrir algumas coisas nele.

Bem, a pergunta aqui é: Por que meuonItemClick não está disparando?

Usando o mesmo ImageAdapter com um GridView, tudo funciona bem, mas quando eu uso com a classe acima, não recebo nada. DentroAdapterView.java existe código para esses eventos de clique, clique longo, etc ... então, por que não posso simplesmente acioná-los? Talvez eu esteja entendendo mal as coisas básicas sobre como o AdapterView funciona? Em vez disso, devo estender outras classes base? E porque?

Na esperança de encontrar orientações mais experientes aqui, obrigado antecipadamente.

questionAnswers(3)

yourAnswerToTheQuestion