2014-02-16 29 views
0

虽然试图解析使用simpledatetime格式如下字符串日期时间,有证据显示这样的错误:错误:ResourcesNotFoundException:字符串资源ID#为0x1

02-16 13:07:40.455: E/AndroidRuntime(676): FATAL EXCEPTION: main 
02-16 13:07:40.455: E/AndroidRuntime(676): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.timer/com.example.timer.MainActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x1 

,我已经写了下面给出的代码。请告诉我这个错误的可能原因是什么。

String date1="17-Feb-14 12:54:34 AM"; 

    String date2="15-Feb-14 9:55:23 PM"; 


    SimpleDateFormat sdf=new SimpleDateFormat("dd-MMM-yy hh:mm:ss aa"); 
    try { 
     Date dt1=sdf.parse(date1); 
     Date dt2=sdf.parse(date2); 
    int value=dt1.compareTo(dt2); 

    Toast.makeText(MainActivity.this, value, Toast.LENGTH_LONG).show(); 

    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

我从我的服务器获取这个日期和时间格式作为字符串。所以我需要将它转换为在客户端进行处理的日期和时间。请告诉我如何做到这一点。

回答

1

您已经使用了valueToast.makeText()int需要一个字符串或字符串资源(例如R.string.helloWorld)的ID。

变化

Toast.makeText(MainActivity.this, value, Toast.LENGTH_LONG).show(); 

Toast.makeText(MainActivity.this, value.toString(), Toast.LENGTH_LONG).show(); 
1

原因为此,第二个参数为int/String类型。如果你通过int然后指向任何资源,Android检查这个id存在于资源R如果不是,那么它会抛出ResourcesNotFound

Android生成R.java中每个资源的id

所以在你的情况下,你已经通过整数值和Android试图看看idR.java不可用。

所以你必须使用.toString()方法将整数转换为字符串。

这里是方法重载,您可以在其中传递资源ID或第二个参数中的任何字符串。

相关问题