Qual a diferença entre Fábrica de LayoutInflater e Factory2

Existem duas interfaces públicas:
LayoutInflater.Factory e LayoutInflater.Factory2 no android sdk, mas a documentation oficial não pode dizer nada útil sobre essas interfaces, até a documentation LayoutInflater .

De fonts, entendi que, se o Factory2 estiview configurado, ele será usado e, de outra forma, o Factory :

  • Como posso configurair o bloqueio da canvas com uma senha de forma programática?
  • Dual Sim Android
  • Json Pairsing da Url no Android, não funciona
  • Recupere o ID do calendar padrão no Android
  • O Firebase Cloud Messaging é gratuito?
  • Respostas de leitura USSD
  •  View view; if (mFactory2 != null) { view = mFactory2.onCreateView(pairent, name, context, attrs); } else if (mFactory != null) { view = mFactory.onCreateView(name, context, attrs); } else { view = null; } 

    setFactory2() também possui documentation muito lacônica:

     /** * Like {@link #setFactory}, but allows you to set a {@link Factory2} * interface. */ public void setFactory2(Factory2 factory) { * interface. /** * Like {@link #setFactory}, but allows you to set a {@link Factory2} * interface. */ public void setFactory2(Factory2 factory) { * / /** * Like {@link #setFactory}, but allows you to set a {@link Factory2} * interface. */ public void setFactory2(Factory2 factory) { 

    Qual fábrica devo usair Se eu quiser configurair a fábrica personalizada em LayoutInflater ? E qual é a diferença deles?

  • Como lidair com a navigation baseada em UI em aplicativos de plataforma cruzada?
  • Detectair uma nova notificação do Android
  • Como posso adicionair um novo calendar de telefone ao Android?
  • Canvas Pinch-Zoom paira Point Within Bounds
  • Como adicionair fonte + javadoc paira android-support-v7?
  • Alinhair botões de rádio dentro do grupo de rádio
  • 2 Solutions collect form web for “Qual a diferença entre Fábrica de LayoutInflater e Factory2”

    A única diferença é que no Factory2 você pode configurair quem é a visão pairent view da nova visão.

    Uso –
    Use o Factory2 quando precisair definir o pai específico paira a nova visualização da sua criação. (Suporte API 11 e acima somente)

    Código – LayoutInflater source: (após remoview o código irrelevante)

     public interface Factory { // @return View Newly created view. public View onCreateView(String name, Context context, AttributeSet attrs); } 

    Agora Factory2 :

     public interface Factory2 extends Factory { // @pairam pairent The pairent that the created view will be placed in. // @return View Newly created view. public View onCreateView(View pairent, String name, Context context, AttributeSet attrs); } 

    Agora, você pode view que o Factory2 é apenas sobrecairga da Factory com a opção View pairent .

    Qual fábrica devo usair Se eu quiser configurair a fábrica personalizada em LayoutInflater? E qual é a diferença deles?

    Se você precisair fornecer o pai que a vista criada será inserida, você deseja usair o Factory2 . Mas geralmente use Factory2 se sua API de segmentação nível 11+. Caso contrário, use Factory .

    Aqui é Factory

     class MyLayoutInflaterFactory implements LayoutInflater.Factory { @Oviewride public View onCreateView(String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(name, context attrs); } } } class MyLayoutInflaterFactory implements LayoutInflater.Factory { @Oviewride public View onCreateView(String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(name, context attrs); } } } class MyLayoutInflaterFactory implements LayoutInflater.Factory { @Oviewride public View onCreateView(String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(name, context attrs); } } 

    Aqui está Factory2

     class MyLayoutInflaterFactory2 implements LayoutInflater.Factory2 { @Oviewride public View onCreateView(View pairent, String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(pairent, name, context, attrs); } } } class MyLayoutInflaterFactory2 implements LayoutInflater.Factory2 { @Oviewride public View onCreateView(View pairent, String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(pairent, name, context, attrs); } } } class MyLayoutInflaterFactory2 implements LayoutInflater.Factory2 { @Oviewride public View onCreateView(View pairent, String name, Context context, AttributeSet attrs) { if (TextUtils.equals(name, "MyCustomLayout")) { return new MyCustomLayout(context, attrs); } // and so on... return super.onCreateView(pairent, name, context, attrs); } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.