0

アプリケーションでExpandableListViewを動的に作成しようとしています。親の行には次の7日間の日付が表示され、Webサービスから子を取得します。しかし、子をフェッチして表示することは私の問題ではありません。親行を動的に表示する際に問題が発生しています。親の行に次の7日間の日付を表示する必要があります。

この空の文字列配列をグローバルに宣言しました。

private String[] parent = new String[7];

次に、onCreate()内で、このコードを使用して親配列のコンテンツを作成しました。

Calendar cal = Calendar.getInstance();
    String strdate = null;
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");

    int i;
    for(i=0;i<7;i++)
    {

        if (cal != null) {
            strdate = sdf.format(cal.getTime());
            }
            parent[i] = strdate;
           cal.add(Calendar.HOUR_OF_DAY, 24);
    }

ただし、このアクティビティでは、MyExpandableListAdapter.getGroupView()でNullPointerExceptionが発生します。

(親アレイが最初に初期化されていないためか?)

親配列を最初に次のように宣言すると、コードが機能するためです。

private String[] parent = new String[] {"","","".....}; 
4

1 に答える 1

0

私の解決策:静的ブロックがその答えでした。代わりに静的ブロック内に親配列のコンテンツを作成するコードを配置するonCreate()と、チャームのように機能するようになりました。

于 2012-10-02T00:02:35.810 に答える