dynamicly acrescentando textView da gridView no android

votos
2

Eu estou tentando criar um gridView baseado em um comprimento de uma corda.

Cada textView deve mostrar um único caractere - um sublinhado - e assumindo que não há espaço na string ...

Eu Anteriormente fez algo semelhante em c # - I craeted um tableview que contem as 15 lables, e com base no número de letras, mudou-se cada um deles a direita. parece mais ou menos assim:

public void setLetters(String str)
        {
            tableLayoutPanel1.Visible = false;
            int x = revah(str); //revah returns the number of letters in the string
            int yy = x / 2;
            int count = 0;
            if (count <= x)
            {
                tableLayoutPanel1.SetColumn(lbl0, yy);
                count++;
            }
            if (count <= x)
            {
                tableLayoutPanel1.SetColumn(lbl1, yy);
                count++;
            }
            if (count <= x)
            {
                tableLayoutPanel1.SetColumn(lbl2, yy);
                count++;
            }
            if (count <= x)
            {
                tableLayoutPanel1.SetColumn(lbl3, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl4, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl5, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl6, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl7, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl8, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl9, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl10, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl11, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl12, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl13, yy);
            count++;
        }
        if (count <= x)
        {
            tableLayoutPanel1.SetColumn(lbl14, yy);
            count++;
        }

        tableLayoutPanel1.Visible = true;

    } 

Quero fazer algo semelhante no android, usando gridView, mas não têm idéia de como começar mesmo ... ajuda ...

Publicado 02/12/2012 em 19:16
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Siga este link de isso vai mostrar como fazer exibição de grade, o que u quer agora. u tem que fazer um método que irá ler você textview valor e, em seguida, fazer uma lógica de dividir as palavras em um único caractere e de adicionar os caracteres na string []. Espero que este irá ajudar

Respondeu 02/12/2012 em 19:37
fonte usuário

votos
1

Você poderia criar um layout com um GridView (inflado por uma Atividade - http://developer.android.com/reference/android/app/Activity.html ) e outro layout com seu textview de. Depois disso, você tem que implementar um adaptador para preencher o GridView (um ArrayAdapter) com as cordas (no método getView). O método getCount () irá determinar o número de itens. Estes métodos estão na classe ArrayAdapter, você tem que substituí-los. Confira aqui: http://developer.android.com/reference/android/widget/ArrayAdapter.html

Respondeu 02/12/2012 em 19:32
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more