0

リストビューに 12-13-2013 の今日の日付を持つ edittext から動的に追加された 10 個の新しいエントリがあります 明日すべての日付が 12-14-2013 と表示される理由がわかりません 入力された日付を各エントリに保持したいアイデアを変えませんか?

class ViewHolder {
    TextView gump;
    ImageView pic;
    TextView day;
    ImageView more;

    ViewHolder(View v) {
        gump = (TextView) v.findViewById(R.id.inputLrgtxt);
        pic = (ImageView)v.findViewById(R.id.sexpic);
        day = (TextView)v.findViewById(R.id.holla);
    }
}

private class KoreyzAdapter extends ArrayAdapter<ArgueItem> {
    private ArrayList<ArgueItem> argueList;
    private Context context;

    public KoreyzAdapter(Context c, int textViewResourceId, ArrayList<ArgueItem> argueList) {
        super(c, textViewResourceId, argueList);
        this.argueList = argueList;
        this.context = c;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;
        long msTime = System.currentTimeMillis();
        Date date = new Date(msTime);
        SimpleDateFormat sdf = new SimpleDateFormat("M/d/y");
        String biggie = sdf.format(date);

        if(row == null) {
            LayoutInflater inflator = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = inflator.inflate(R.layout.list_item, parent, false);
            holder = new ViewHolder(row);
            row.setTag(holder);
        }
        else {
            holder = (ViewHolder)row.getTag();
        }

        holder.gump.setText(argueList.get(position));
        holder.day.setText(biggie);

        return row;
    }
}
4

1 に答える 1

1

あなたのコード:

        long msTime = System.currentTimeMillis();
        Date date = new Date(msTime);
        SimpleDateFormat sdf = new SimpleDateFormat("M/d/y");
        String biggie = sdf.format(date);

リスト ビューがレンダリングされるときに呼び出されます。したがって、現在の日付 (つまり、レンダリング時の日付) を反映する新しい日付をオンザフライで作成しています。

変更されない単一の日付が必要な場合は、一度計算して永続化します (SharedPreferences は適切なオプションです)。次に、以降の呼び出しで、SharedPreferences から日付文字列を読み取ります。

于 2013-12-13T18:22:11.243 に答える