2

文字列の長さに基づいて gridView を作成しようとしています。

すべての textView は、単一の文字 (下線) を表示する必要があり、文字列にスペースがないと仮定します...

私は以前にC#で同様のことをしました-15個のラベルを含むテーブルビューを作成し、文字数に基づいて、それぞれを右に移動しました。多かれ少なかれ次のようになります。

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;

    } 

AndroidでgridViewを使用して同様のことをしたいのですが、開始方法がわかりません...助けてください...

4

2 に答える 2

1

GridView (Activity によって膨張 - http://developer.android.com/reference/android/app/Activity.html ) を使用してレイアウトを作成し、テキストビューを使用して他のレイアウトを作成できます。その後、アダプターを実装して、GridView (ArrayAdapter) に文字列を (メソッド getView で) 設定する必要があります。メソッド getCount() はアイテムの数を決定します。このメソッドは ArrayAdapter クラスにあるため、オーバーライドする必要があります。ここをチェックしてください:http://developer.android.com/reference/android/widget/ArrayAdapter.html

于 2012-12-02T18:32:08.923 に答える
1

このリンクをたどる と、グリッドビューを作成する方法が表示されます。これは、今必要なものです。テキストビューの値を読み取るメソッドを作成し、それらの単語を1文字に分割し、それらの文字を string[] に追加するロジックを作成する必要があります。これが役立つことを願っています

于 2012-12-02T18:37:54.013 に答える