Construtor de exibição personalizada do Android

Estou aprendendo sobre o uso de Visualizações personalizadas das seguintes opções:

http://developer.android.com/guide/topics/ui/custom-components.html#modifying

A descrição diz:

Inicialização de classe Como sempre, o super é chamado primeiro. Além disso, este não é um construtor padrão, mas um parametrizado. O EditText é criado com esses parâmetros quando é inflado de um arquivo de layout XML, portanto, nosso construtor precisa levá-los e passá-los ao construtor da superclasse.

Existe uma descrição melhor? Eu tenho tentado descobrir como devem ser os construtores e criei 4 opções possíveis (veja o exemplo no final da postagem). Não sei ao certo o que essas quatro opções fazem (ou não fazem), por que devo implementá-las ou o que os parâmetros significam. Existe uma descrição disso?

public MyCustomView()
{
    super();
}

public MyCustomView(Context context)
{
    super(context);
}

public MyCustomView(Context context, AttributeSet attrs)
{
    super(context, attrs);
} 

public MyCustomView(Context context, AttributeSet attrs, Map params)
{
    super(context, attrs, params);
} 

questionAnswers(3)

yourAnswerToTheQuestion