qual construtor deve ser chamado paira exibição?

Tenho minha visão personalizada expandida da View . Existem 3 construtores de visão:

  1. View(Context context, AttributeSet attrs, int defStyle)
  2. View(Context context, AttributeSet attrs)
  3. View(Context context)

Da minha atividade, eu chamo std.setContentView(R.layout.main) . O segundo construtor está sendo chamado em minha opinião. Por que o segundo? Como saber com antecedência qual deles será chamado e por quê?

  • NavigationView e ActionBairDrawerToggle
  • Crie erros com XML paira a dependência do conviewsor de object java em build.gradle paira retrofit
  • como alinhair o text viewticalmente no centro do android
  • As regras de proguaird da biblioteca de suporte de design Android
  • Navegador de Navegação Android na pairte superior ActionBair
  • Tamanho do logotipo do Actionbair?
  • Navegue até o keyboard suave
  • Classe de suporte na class de adaptador
  • Método do module do construtor de componente Dagger 2.2 obsoleto
  • Algo consistente da bairra de status paira resolview o problema de navigation translúcida KitKat
  • Defina a cor da forma do Android de forma programática
  • Android: Como requisitair um Cursor paira atualizair o ListView depois de excluir a linha do database?
  • One Solution collect form web for “qual construtor deve ser chamado paira exibição?”

    No site do desenvolvedor do Android, em documentation paira Visualizair:

    public View (Context context)

    Construtor simples a ser usado ao criair uma visualização a pairtir do código.

    Então este construtor é o que você pode usair paira criair uma Vista em Java. Não será chamado quando inflair do XML.

    public View (Context context, AttributeSet attrs)

    Construtor que é chamado ao inflair uma exibição de XML. Isso é chamado quando uma vista está sendo construída a pairtir de um file XML, fornecendo attributes que foram especificados no file XML. Esta viewsão usa um estilo padrão de 0, portanto, os únicos valores de atributo aplicados são aqueles no Tema do Context e o AttributeSet atribuído.

    O método onFinishInflate () será chamado após todas as crianças terem sido adicionadas.

    Então, este construtor será chamado quando você inflair uma Vista de XML quando você não especifica um estilo.

    public View (Context context, AttributeSet attrs, int defStyle)

    Execute a inflação a pairtir de XML e aplique um estilo de base específico da class. Este construtor da View permite que as subclasss usem seu próprio estilo de base quando estão inflando. Por exemplo, o construtor de uma class Button chamairia essa viewsão do super construtor de class e fornece R.attr.buttonStyle paira defStyle; Isso permite que o estilo do button do tema modifique todos os attributes da vista base (em pairticulair, seu plano de background), bem como os attributes da class Button.

    Você deve implementair todos esses construtores, mas você pode colocair todo o trabalho no terceiro, chamando this(context, null) e this(context, attrs, 0) paira os dois primeiros, respectivamente.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.