Causés par: java.lang.IllegalArgumentException: Mauvaise classe: la classe java.lang.Chaîne
Je suis en train de formater les dates qui-je le récupérer à partir de ma table de base de données, j'ai voulu le format de "2015 02 11 12 00" à "2 Février", mais il donne une erreur quand je le formater. Est-il d'autres moyens de formatage de ces dates?
Suivant les codes:
protected String doInBackground(String... args) {
//Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
//getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_all_events, "GET", params);
//Check your log cat for JSON reponse
Log.d("All events: ", json.toString());
try {
//Checking for SUCCESS TAG
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
//events found
//Getting Array of events
events = json.getJSONArray(TAG_EVENTS);
//looping through All events
for (int i = 0; i < events.length(); i++) {
JSONObject c = events.getJSONObject(i);
//Storing each json item in variable
String id = c.getString(TAG_PID);
String eventname = c.getString(TAG_EVENTNAME);
String eventstart = c.getString(TAG_EVENTSTART);
String eventstartconvert = formatdate.format(eventstart); //this line gives an error.
//creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
//adding each child node to HashMap key => value
map.put(TAG_PID, id);
map.put(TAG_EVENTNAME, eventname);
map.put(TAG_EVENTSTART,eventstartconvert);
//adding HashList to ArrayList
eventsList.add(map);
}
}
Voici mon logcat:
02-11 09:14:40.997 25966-26198/com.example.jithea.testlogin E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #2
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:838)
Caused by: java.lang.IllegalArgumentException: Bad class: class java.lang.String
at java.text.DateFormat.format(DateFormat.java:359)
at java.text.Format.format(Format.java:93)
at com.example.jithea.testlogin.EventsActivity$LoadAllevents.doInBackground(EventsActivity.java:137)
at com.example.jithea.testlogin.EventsActivity$LoadAllevents.doInBackground(EventsActivity.java:91)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
de android.os.AsyncTask$SerialExecutor$1.exécuter(AsyncTask.java:230)
à java.util.de façon concomitante.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
à java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.exécuter(ThreadPoolExecutor.java:573)
à java.lang.Fil de discussion.exécution(Thread.java:838)
veuillez poster le full stack trace de l'exception, de sorte que nous savons ce que la ligne de commencer à regarder.
OriginalL'auteur Jess Ian Sefulan | 2015-02-11
Vous devez vous connecter pour publier un commentaire.
Vous pourriez vous ce format pour la date de formatage.......
//si dans ce format d'entrée est 2015-2-22 de sortie sera de 22-Feb-2015
Il fonctionne! merci..
OriginalL'auteur Avinash Jadaun
DateFormat.format
attendNumber
ouDate
mais vous êtes de passage à unString
. Vous pouvez analyser la chaîne mais le formatage il suffit de produire la même chaîne que vous analyser.Error:(138, 31) error: no suitable method found for format(SimpleDateFormat,String)
Par la façon dont j'ai déclaréSimpleDateFormat formatdate = new SimpleDateFormat("Mmm dd");
OriginalL'auteur StenSoft
Vous devriez format d'entrée et ensuite transmis à format de sortie
OriginalL'auteur Kona Suresh