J'ai ce morceau de code qui est vraiment sujette aux erreurs, donc je l'ai enveloppé avec try {} catch. Je ne veux pas revenir à l'activité précédente, je veux juste qu'elle reste sur l'activité en cours pour que l'utilisateur puisse éditer tout ce qui ne va pas.Comment conserver l'activité sur Force Close?
Comment l'implémenter?
try{
orgi.insertOrThrow(tableName, null, values);
Toast.makeText(this, "You have successfully created a new profile!", 2).show();
gotoProfileList();
Log.e(getClass().getSimpleName(),"Successfully added to database");
}catch(SQLiteException se){
Log.e(getClass().getSimpleName(), "Database connection failed!" + se);
//Stay in this activity...
}finally{
if (orgi != null){
orgi.close();
}
}
Oubliez ça, j'ai pu résoudre mon propre problème en montrant un AlertDialog qui indique à l'utilisateur l'erreur. Merci quand même. :)
try{
orgi.insertOrThrow(tableName, null, values);
Toast.makeText(this, "You have successfully created a new profile!", 2).show();
gotoProfileList();
Log.e(getClass().getSimpleName(),"Successfully added to database");
}catch(SQLiteException se){
Log.e(getClass().getSimpleName(), "Database connection failed!" + se);
displayError();
//stayInThisActivity();
}finally{
if (orgi != null){
}
public void displayError(){
AlertDialog.Builder error = new AlertDialog.Builder(this);
error.setMessage("That profile name already exists, try another one.").setCancelable(false).setPositiveButton("Yes",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = error.create();
alert.setTitle("Error");
alert.show();
}
Le code me semble correct, quel comportement obtenez-vous avec ce code? Des exceptions? –
Je ne comprends pas le problème, la force fermer la plupart du temps a une raison par exemple si vous accédez à des objets nuls. Donc, vous voulez garder l'activité même quand quelque chose comme ça arrive? Si c'est le cas, ça ne me semble pas la bonne façon :). – Tosa
Désolé si ce n'était pas si clair. Il semble que l'application se ferme à cause de orgi.close(); Je n'étais pas au courant que finally() est appelée juste après avoir rattrapé l'erreur. J'ai dû le supprimer pour que l'application ne retourne pas à l'écran d'accueil. :) Merci quand même. – SushiRoll