1

Android Amazing ListViewを使用して、スティッキー ヘッダーを持つカスタム ListView を作成しています。このライブラリでは、データは Data.java クラス内に設定されています。私がする必要があるのは、ローカルで作成しているデータベースから、ヘッダーの値とヘッダーのリスト データを渡す必要があるということです。ヘッダーを設定することはできますが、それらのヘッダーに従ってリスト データを渡すことができません。入力されるリスト データは、次の形式で渡されます。

Composer[][] composerss = {
                    {
                        new Composer("Thomas Tallis"),
                        new Composer("Josquin Des Prez"),
                        new Composer("Pierre de La Rue"),
                    },
                    {
                        new Composer("Johann Sebastian Bach"),
                        new Composer("George Frideric Handel"),
                        new Composer("Antonio Vivaldi"),
                        new Composer("George Philipp Telemann"),
                    },
                     {
                        new Composer("Franz Joseph Haydn"),
                        new Composer("Wolfgang Amadeus Mozart"),
                        new Composer("Barbara of Portugal"),
                        new Composer("Frederick the Great"),
                        new Composer("John Stanley"),
                        new Composer("Luise Adelgunda Gottsched"),
                        new Composer("Johann Ludwig Krebs"),
                        new Composer("Carl Philipp Emanuel Bach"),
                        new Composer("Christoph Willibald Gluck"),
                        new Composer("Gottfried August Homilius"),
                    },
                    {
                        new Composer("Ludwig van Beethoven"),
                        new Composer("Fernando Sor"),
                        new Composer("Johann Strauss I"),
                    },
                    {
                        new Composer("Ludwig van Beethoven"),
                        new Composer("Fernando Sor"),
                        new Composer("Johann Strauss I"),
                    },
            };

データベースから取得しているデータから、このようなギザギザの配列を作成する方法を知る必要があります。ヘッダーに従ってデータを取得できますが、それに応じてヘッダーの下にデータを配置するには、この形式で渡す必要があります。すぐに助けを得たいと思っています。

4

1 に答える 1

0

データベースから値を取得してジャグ配列を作成するには、次のようにします。

ArrayList を取得し、その中にすべてのインデックスを格納します。

for(int i = 0; i<myIndexList.size(); i++)
{
    String[] s = null;
    Log.e("", "current pos "+i);
    Cursor mCur2 = mDb.sGetMySectionListData(myIndexList.get(i));
    if(mCur2.getCount()>0)
        {
            s = new String[mCur2.getCount()];
            mCur2.moveToFirst();
            do
                {
                    s[mCur2.getPosition()] = mCur2.getString(mCur2.getColumnIndex("section_data")));
                }
            while(mCur2.moveToNext());
        }
    mCur2.close();
    mGenerateString(s, i, myIndexList.size());
}

次に、以下のメソッドを使用してジャグ配列を生成できます

private void mGenerateString(String[] mCurrString, int pos, int size)
{
    mStr[pos] = mCurrString;
    Log.e("", "string array : "+mStr[pos]);
}
于 2013-12-17T08:19:07.337 に答える