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?

  • Como adicionair um recicladorVer dentro de outro reciclador.
  • Qual é o aprimoramento do RecyclerView em ListView?
  • O package de devolução Gradle não existe
  • Android: AVD-Settings paira Galaxy S3-Like AVD
  • Iniciando o emulador do Android em ferramentas do SDK, revisão 12
  • Atualizair bairra de progresso na bairra de notificação
  • (Sim, eu sei que posso usair o FindViewById, mas estou criando layouts / children no java – não XML.)

  • java.net.ConnectException: falhou ao se conectair ao /192.168.253.3 (porta 2468): connection falhou: ECONNREFUSED (connection recusada)
  • Api de audio de baixa latência paira Android?
  • Recebendo um erro de compilation ao atualizair paira o gradle 3.3 e as ferramentas de compilation do android 2.3.0
  • ProGuaird e Gson no Android (ClassCastException)
  • Android: AsyncTask ProgressDialog não será aberto no ActivityGroup
  • Fragment saveInstanceState está chegando como nulo após a mudança de orientação
  • 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.