0

この投稿の写真のように、ListViewを使用してカレンダーを作成したアプリを開発しています。ListViewを作成することはできましたが、月のヘッダーと月の日数に問題があります。この点で誰かが私を助けてくれますか?

私のgetViewメソッドは

public View getView(int pos, View v, ViewGroup p) {
    if (DateHelper.isHeaderEnabled(pos,cal)) {
        View rowView = mContext.getLayoutInflater().inflate(
                R.layout.calendar_list_row_month_header, null);
        final TextView headerTextView = (TextView) rowView
                .findViewById(R.id.month_header_textView);
        SimpleDateFormat sdf = new SimpleDateFormat("MMMM yyyy");

        System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        cal.setTime(current);
        cal.set(Calendar.MONTH, (cal.get(Calendar.MONTH) + pos / 30));
        current = cal.getTime();
        headerTextView.setText(sdf.format(current));
        return rowView;
    } else {
        View rowView = mContext.getLayoutInflater().inflate(
                R.layout.calendar_list_row, null);
        TextView dayTextView = (TextView) rowView
                .findViewById(R.id.weekDaytextView);
        TextView weekDay = (TextView) rowView
                .findViewById(R.id.dateTextView);
        dayTextView.setText("" + pos % 30);
        weekDay.setText(DateHelper.getDayName(pos));
        daysPos = daysPos + 1;
        return rowView;
    }
}

ここに画像の説明を入力してください

よろしく
アルタフ

4

1 に答える 1

0

listadapter に List Object> を受け入れさせます。次に、月のヘッダーに文字列を渡します。

アダプタの getView() メソッドで、現在のオブジェクトがどのクラスであるかを確認します。

クラスが日付の場合は標準レイアウトを使用し、クラスが文字列の場合はヘッダー レイアウトを使用します。

于 2012-09-26T09:53:03.510 に答える