1

我有一个Service创建 a 的 a Notification,其中 Date 以 a String、 through的形式传递,putExtra这样:

Calendar cal=Calendar.getInstance();        
cal.set(2013, 3, 27);
Date d=new Date(cal.getTimeInMillis());
SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
String fechafinal=format.format(d);
Intent notIntent=new Intent(c, AlertsActivity.class);
notIntent.putExtra("fechafin",fechafinal);//Along with other values, I pass this one
PendingIntent contIntent = PendingIntent.getActivity(
            c, 0, notIntent, 0);
Builder notif = new NotificationCompat.Builder(c);

使用 a Log.i,我可以看到那里的fechafinal值设置正确,正确的值是 27-04-2013。如果我是正确的,Activity当用户点击Notification, 时调用的是AlertsActivity.

AlertsActivity class(重要的部分):

SimpleDateFormat formatofecha = new SimpleDateFormat("dd/MM/yyyy");
    String fecha;
    bundle=getIntent().getExtras();
    fecha=formatofecha.format(Calendar.getInstance().getTime());
    String fechaFin;                        
    fechaFin=bundle.getString("fechafin");              
    Notificacion noti=new Notificacion(bundle.getString("nombre"),                                         bundle.getString("lugar"), 
fecha, 
fechaFin,
bundle.getString("dinero"),
                                       bundle.getBoolean("buzoneo"),
                                       bundle.getString("desc"),
                                       bundle.getString("labor"),
                                       bundle.getString("horainicio"),
                                       bundle.getString("horafin"));

PD:“Notificacion”是我存储将在某种工作机会的详细视图中呈现的值的类,它不是 Notification 的 Android 类。

如果我在Log.i这里放一个...我看到里面fechafin是“2013/12/12”,我不知道为什么。它快把我逼疯了!

有人有同样的问题吗?谢谢你!

4

1 回答 1

0

我解决了它,只需这样做:

String fechafinal=format.format(d).toString();

为什么如果我 Log.i 它显示得很好,而在没有 .toString() 方法的情况下分配它却没有,这超出了我的理解。

于 2013-04-08T11:53:37.067 回答