IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Convertir date millis de la BDD dans une listview (cursor)


Sujet :

Composants graphiques Android

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 27
    Points
    27
    Par défaut Convertir date millis de la BDD dans une listview (cursor)
    Bonjour,

    J'affiche les résultats d'une requête dans une listview en utilisant "simplecursoradapter". Le problème, est que ma date est enregistrée en millis et que je souhaite la convertir en date lisible.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    public class Liste extends ActionBarActivity  {
     
    	Cursor cursor;
    	private SimpleCursorAdapter adapter;
    	ListView listContent;
     
    	  @Override
    	  public void onCreate(Bundle savedInstanceState)
    	  {
    	    super.onCreate(savedInstanceState);
    	    setContentView(R.layout.list);
     
    	    //Instancier XML Listview
    	    listContent = (ListView)findViewById(R.id.list); 
     
    	    //ecrire dans la table
    	    MetierDAO MetierDAOS = new MetierDAO(this);
    	    MetierDAOS.open();
     
    	    /** Requête : Extraction des dépenses **/
    	    cursor = MetierDAOS.mDb.rawQuery("SELECT id as _id,"+ 
    	    FluxDAO.FLUX_NAME + "," + 
    	    FluxDAO.FLUX_DATE1 + "," +
    	    FluxDAO.FLUX_MONEY + 
    	    " FROM " + FluxDAO.FLUX_TABLE_NAME, null);
     
    	    startManagingCursor(cursor);
     
    	    cursor.moveToFirst();
    	    if (!cursor.moveToFirst())
                Toast.makeText(getBaseContext(),"Rien à afficher", Toast.LENGTH_SHORT).show();
     
            adapter = new SimpleCursorAdapter (this, R.layout.list_item, cursor,
            		new String[]{FluxDAO.FLUX_NAME, FluxDAO.FLUX_MONEY, FluxDAO.FLUX_DATE1},
            		new int[]{R.id.textView1, R.id.textView2, R.id.date});
     
     
            listContent.setAdapter(adapter); 
     
    	    }
     
    	  @Override
    		public boolean onCreateOptionsMenu(Menu menu) {
    			// Inflate the menu; this adds items to the action bar if it is present.
    			getMenuInflater().inflate(R.menu.main, menu);
    			return super.onCreateOptionsMenu(menu);
    		}
    }
    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Si ta date est en milliseconde, il te suffit de créer un objet java.util.date avec celui ci, et d'afficher la date avec un SimpleDateFormat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Long myDateMilliseconde = ....; // Date en milliseconde
    Date date = new Date (myDateMilliseconde);
    SimpleDateFormat df = new SimpleDateFormat ("dd/MM/yyyy", Locale.FRENCH);
    String dateStr = df.format (date);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour votre réponse,

    Oui effectivement je peux la convertir de cette manière, mais le problème c'est que je peux obtenir la valeur dans le cursor avec getlong() mais pas la mettre à jour dans ce même cursor. La valeur s'affiche directement en millisecondes dans le textview sans que je puisse intervenir.

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Tu as juste à redéfinir ton SimpleCursorAdapter.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Part redéfinir tu veux dire créer une extension de simpleCursorAdapter ?
    Si c'est le cas je suis pas assez expérimenté pour faire ce genre de chose

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Oui c'est bien cela. Il est donc l'heure d'apprendre

    Tu as plusieurs exemples sur Internet en tapant "custom SimpleCursorAdapter":
    - http://stackoverflow.com/questions/1...ecursoradapter
    - http://stackoverflow.com/questions/9...cursor-adapter
    - http://www.mysamplecode.com/2013/03/...row-color.html

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Ok merci je vais essayer de bidouiller tout ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/11/2009, 22h49
  2. Insertion d'un champ BDD dans une constante
    Par GO dans le forum Langage
    Réponses: 6
    Dernier message: 09/05/2008, 15h41
  3. recherche date de maj de données dans une table
    Par Switch03 dans le forum SQL
    Réponses: 5
    Dernier message: 05/03/2008, 13h15
  4. Réponses: 1
    Dernier message: 14/05/2006, 19h52
  5. inserer la date et l'heure systeme dans une table
    Par argon dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/07/2005, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo