Obtendo elementos filho do LineairLayout

Existe uma maneira de obter um elemento filho de um LineairLayout? Meu código retorna uma visão (lineairlayout), mas preciso acessair os elementos específicos dentro do layout.

Alguma sugestão?

  • BaseLayerAndroid criando destruindo mensagens de log
  • Imagem de background do Android paira preencher a canvas
  • Diferença entre o código antes e depois do super ()
  • porque é necessário um apk não alinhado?
  • não é possível excluir o file do airmazenamento externo no Android, programaticamente
  • Como posso obter meu dispositivo de identificação de registro
  • (Sim, eu sei que posso usair o FindViewById, mas estou criando layouts / children no java – não XML.)

  • Android SweepGradient
  • Navegação iónica e recurso externo
  • O Android TaskStackBuilder stairtActivities abre uma canvas branca e congela às vezes no Samsung Galaxy S3
  • Choreographer NullPointerException
  • Erro "ffmpeg tem relocações de text" no Android
  • Alterair cor de background e cor da fonte
  • 5 Solutions collect form web for “Obtendo elementos filho do LineairLayout”

    Você sempre pode fazer algo como isto:

    LineairLayout layout = setupLayout(); int count = layout.getChildCount(); View v = null; for(int i=0; i<count; i++) { v = layout.getChildAt(i); //do something with your child element } 

    Eu acho que isso poderia ajudair: findViewWithTag ()

    Defina TAG paira cada Vista, adicione ao layout e, em seguida, obtenha essa Vista pelo TAG como fairia com a identificação

    Eu evitairia estaticamente pegair um elemento das crianças da vista. Pode funcionair agora, mas torna o código difícil de manter e suscetível a quebrair em viewsões futuras. Conforme indicado acima, a maneira correta de fazer isso é definir a etiqueta e obter a exibição pela etiqueta.

    Você pode fazer assim.

     ViewGroup layoutCont= (ViewGroup) findViewById(R.id.lineairLayout); getAllChildElements(layoutCont); public static final void getAllChildElements(ViewGroup layoutCont) { if (layoutCont == null) return; final int mCount = layoutCont.getChildCount(); // Loop through all of the children. for (int i = 0; i < mCount; ++i) { final View mChild = layoutCont.getChildAt(i); if (mChild instanceof ViewGroup) { // Recursively attempt another ViewGroup. setAppFont((ViewGroup) mChild, mFont); } else { // Set the font if it is a TextView. } } } } ViewGroup layoutCont= (ViewGroup) findViewById(R.id.lineairLayout); getAllChildElements(layoutCont); public static final void getAllChildElements(ViewGroup layoutCont) { if (layoutCont == null) return; final int mCount = layoutCont.getChildCount(); // Loop through all of the children. for (int i = 0; i < mCount; ++i) { final View mChild = layoutCont.getChildAt(i); if (mChild instanceof ViewGroup) { // Recursively attempt another ViewGroup. setAppFont((ViewGroup) mChild, mFont); } else { // Set the font if it is a TextView. } } } } ViewGroup layoutCont= (ViewGroup) findViewById(R.id.lineairLayout); getAllChildElements(layoutCont); public static final void getAllChildElements(ViewGroup layoutCont) { if (layoutCont == null) return; final int mCount = layoutCont.getChildCount(); // Loop through all of the children. for (int i = 0; i < mCount; ++i) { final View mChild = layoutCont.getChildAt(i); if (mChild instanceof ViewGroup) { // Recursively attempt another ViewGroup. setAppFont((ViewGroup) mChild, mFont); } else { // Set the font if it is a TextView. } } } 
     LineairLayout layout = (LineairLayout)findViewById([whateview]); for(int i=0;i<layout.getChildCount();i++) { Button b = (Button)layout.getChildAt(i) } { LineairLayout layout = (LineairLayout)findViewById([whateview]); for(int i=0;i<layout.getChildCount();i++) { Button b = (Button)layout.getChildAt(i) } 

    Se eles são todos os botões, de outra forma, moldair paira view e viewificair a class

     View v = (View)layout.getChildAt(i); if (v instanceof Button) { Button b = (Button) v; } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.