Ver mensagens sem resposta | Ver tópicos ativos Hoje é 24 Set 2020, 20:32



Responder Tópico  [ 3 Mensagens ] 
 Ajuda com TableLayout 
Autor Mensagem
What is a Activity?
What is a Activity?

Data de registro: 12 Out 2011, 19:16
Mensagens: 12
Mensagem Ajuda com TableLayout
Pessoal

estou precisando de novo da ajuda de vcs...

Seguinte... é meio complicado de explicar o que estou precisando, mas vamos la

Tenho uma tela em que preciso mostrar vários TableLayout com vários Textviews dentro. Essas textviews precisam ser populadas através de dados que recebo de um web service. O problema é que não sei como que faço pra popular esses textviews com os dados do ws.

Me falaram que devo fazer um ListView com um adapter, mas ainda assim nao consegui, e também não sei se é realmente um listview que preciso, pois depois dos textviews populado é o TableLayout que possui esses text que o usuário vai selecionar através do touch screan.
alguém tem ideia de como posso fazer isso


faz um certo tempinho que estou tentando fazer isso e ainda não consegui...

_________________
Suelen Baccin
Acadêmica do Curso Ciência da Computação na
Universidade do Oeste de Santa Catarina - Xanxerê/SC


30 Mai 2012, 01:15
Perfil
What is Android?
What is Android?

Data de registro: 31 Out 2012, 00:35
Mensagens: 1
Mensagem Re: Ajuda com TableLayout
oi, suelen, voce conseguiu algo sobre o post, o que eu preciso é exatamente isso..

Obrigado!


31 Out 2012, 00:36
Perfil
Application Life Cycle
Application Life Cycle
Avatar de usuário

Data de registro: 02 Jan 2012, 09:47
Mensagens: 250
Localização: São Paulo - SP
Mensagem Re: Ajuda com TableLayout
Tera que ser feito uma construção de Table Layout's dinamicamente ou seja na mão via Java em tempo de execução pode usar
blocos XML para fazer templates e criar inflaters na hora da montagem.

vejo um exemplo ai:

Criei uma classe utilitária na minha aplicação:


import clealco.com.activity.R;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.text.Html;
import android.view.Gravity;
import android.view.View;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.TableLayout.LayoutParams;

@SuppressLint({ "ResourceAsColor", "ResourceAsColor", "ResourceAsColor" })
public class TableAdapter {

    /*
     *
     *     <TableRow
     *      android:layout_width="fill_parent"
     *      android:layout_height="wrap_content"
     *      android:gravity="center_horizontal"
     *      android:id="@+id/collun"
     *      android:background="#FFFFE0">
     *
     *       <TextView
     *          android:id="@+id/TextView04"
     *          android:layout_weight="1"
     *          android:layout_width="0dp"
     *          android:gravity="center"
     *          android:padding="4dip"
     *          android:text="% Cana picada"
     *          android:textColor="#000000"/>
     *      
     *
     */

   

    public TextView addTextView(String text){
       
         TextView textView = new TextView(context);
         textView.setText(Html.fromHtml(text));
         textView.setTextColor(Color.BLACK);
             //left top right bottom
         textView.setPadding(4, 4, 4, 4);
         textView.setGravity(Gravity.CENTER);
         android.widget.TableRow.LayoutParams params = new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f);
         params.gravity= Gravity.CENTER_VERTICAL;
         textView.setLayoutParams(params);
        //textView.setGravity(Gravity.CENTER_VERTICAL);
             
         return textView;
       
      }
   
     public TableRow titleRow(int color){
         
            TableRow row = new TableRow(context);
            Resources resource = context.getResources();  
            row.setBackgroundColor(resource.getColor(color));
               row.setLayoutParams(new LayoutParams(
                       LayoutParams.FILL_PARENT,
                       LayoutParams.WRAP_CONTENT));
               row.setGravity(Gravity.CENTER_HORIZONTAL);
               
               return row;
           
        }
   
       
     
   
    private Context context;
   
    public TableAdapter (Context context){
        this.context = context;
    }
   
    //METODOS CONSTRUTORES DE COMPONENTES!
    public View separator(int color){
         View v = new View(context);
         v.setBackgroundColor(color);
         v.setLayoutParams(new TableLayout.LayoutParams(1, 2));
         return v;
    }
   
    public TableRow titleRow(){
    
        TableRow row = new TableRow(context);
           row.setBackgroundColor(Color.LTGRAY);
           row.setLayoutParams(new LayoutParams(
                   LayoutParams.FILL_PARENT,
                   LayoutParams.WRAP_CONTENT));
           row.setGravity(Gravity.CENTER_HORIZONTAL);
           
           return row;
       
    }
   
   
   
    public TextView addrowDuplaEsquerda(String text){
       
       TextView esquerda = new TextView(context);
       esquerda.setText(text);
       esquerda.setTextColor(Color.BLACK);
        //left top right bottom
       esquerda.setPadding(5, 15, 70, 15);
       esquerda.setGravity(Gravity.LEFT);
       
       return esquerda;
    
 }
 
 public TextView addrowDuplaDireita(String text){
    
     TextView direita = new TextView(context);
     direita.setText(text);
     direita.setTextColor(Color.BLACK);
     direita.setPadding(70, 15, 5, 15);
     direita.setGravity(Gravity.LEFT);
     
     return direita;
 }
    
   
   
}
 



Essa é uma classe que fiz pra ficar facil no momento da construção dinâmica...

Agora uns fragmentos de codigo utilizando isso:

   

       
    private TableLayout table;
    private TableRow row;
       private List<View> listViewRow;

       
     //... em algum escopo
    if(listViewRow.size()>0){
       
                    for(View view: listViewRow){
                        table.removeView(view);
                    }
                }
       
                viewFlipper.setDisplayedChild(1);
               
            //  for(int i = 0; i<listMetaPlantio.size(); i++){
                for(int i = (listMetaPlantio.size()-1); i>=0; i--){
                    TableAdapter adapter = new TableAdapter(MetaPlantioActivity.this);
                   
                    if((i%2)==0){
                        row =  adapter.titleRow(R.color.line_table1);
                    }else{
                        row =  adapter.titleRow(R.color.white);
                    }
                        row.addView(adapter.addTextView(listMetaPlantio.get(i).getDescricao()), 0);
                        row.addView(adapter.addTextView(listMetaPlantio.get(i).getResultado()), 1);
                        listViewRow.add(row);
                   
                    table.addView(row, 1);
                   
                }


Lembrando isso foi um exemplo... não adianta copiar e colar só pra entender a logica do negocio, e mentalize isso tudo é os Widgets, gerenciadores de layout é filhos da View e Object sendo assim é possivel construir qualquer coisa em tempo de execução só precisar ter familiaridade com nosso amigo Java ^^

Espero ter ajudado.

_________________
Jean Rodrigo Dalbon Cunha
Engenheiro da Computação
Senior Mobile Engineer
Android Consulting and Coaching
Certifield Oracle Java OCJP / OCWCD / OCEA


JAVA - ANDROID - JSP - JSF - JPA - RAILS

EMPRESA: Universo Online Corp. UOL


05 Nov 2012, 17:33
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 3 Mensagens ] 

Quem está online

Usuários vendo este fórum: alberto, Alessandro Tavares, alexcost2002, alexmarcolongo, alexvbh, alylson, amos, andi, Androidthebest, Aparec, arnaldo.miranda, bbourbon, beeshop, berchielli, bocajunior88, brazucx, brcamp, brenda, Bruno, Captain Typho, carlos rodrigues, Carmizini, cesschneider, Chanceler Supremo Finis Valorum, christian, cleiton_maciel, cosmotheoro, Danilo Dias, danilosv, Darkluna, darllan.marinho, Dassi, Diego, Diego Otani, diegorrborges, diemesleno, dnakamashi, edervieira, edsonel, eduardo.ali, EduardoYC, estratec, euguns, felipe.buarque, freina, Governador Wilhuff Tarkin, gphonemania, gusrp, hugomarinho, HyagoRules, inesfg, jackdaniel, jacksonst, Joessi2007, juliana_costa, juliaojunior, juniorfranca, juniorsk8, jzaires, konos, kusanaguy, Liviosousa, luciano.sml, luizcarlosvb, Luna, madeinnordeste, marianatallas, martins, Maxtremus, miguel, mmiottobarbosa, mrangel, mvoto, nardosnt, neimarguerra, nfaria, nivea, Orivalde, Padawan, paulanegreiros, pbcjunior, phpower1, pxcx, pyrobit, R2-D2, raragao, regeriob2br, rodrigo_mg, Rogério, rotilho, ScoobyGB, sergio, SERGIO RODRIGUES, siker C3PO, Silvio Vaz, Synoo [Bot], Thitto, tiagoxv, tonholis, valaszek, viniciusluiz, Webnet, xGambit, Yuri e 13 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi