Android SimpleDateFormat日期在新的一天更改



我的列表视图中有10个新条目是从编辑文本中动态添加的,日期为2013年12月12日。我不明白为什么明天所有日期都是2013年12日至14日。我希望每个条目都保持输入日期,不改变任何想法?

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;
    }
}

您的代码:

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

在渲染列表视图时调用。因此,您正在动态创建一个反映当前日期(即渲染时的日期)的新日期。

如果你想要一个永远不变的日期,可以计算一次并保持它(SharedPreferences是一个不错的选择)。然后在以后的调用中,从SharedPreferences中读取日期字符串。

最新更新