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

Android Discussion :

afficher les données d'une base de données dans un fragment


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut afficher les données d'une base de données dans un fragment
    Bonjour,
    Pouvez vous m'aider à corriger ce code svp. J'ai besoin d'extraire les données d'une base de données vers un fragment dans un drawer navigation activity. Est il possible de les afficher dans un listview?? J'ai essayé ce code mais ça ne marche pas
    fragment3.java
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    public class fragment3 extends Fragment {
    private String JSON_STRING;
    private ListView listView;
    public static final String URL="http://10.0.3.2/Scripts/select.php";
    public static final String TAG_JSON_ARRAY="result";
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment3, container, false);
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment3);
            listView = (ListView) findViewById(R.id.listView);
            listView.setOnItemClickListener(this);
            getJSON();
        }
    private void display(){
        JSONObject jsonObject = null;
        ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String, String>>();
        try {
            jsonObject = new JSONObject(JSON_STRING);
            JSONArray result = jsonObject.getJSONArray(TAG_JSON_ARRAY);
     
            for(int i = 0; i<result.length(); i++){
                JSONObject jo = result.getJSONObject(i);
                String id= jo.getString("id");
                String name = jo.getString("name");
                String email= jo.getString("email");
     
                HashMap<String,String> liste= new HashMap<>();
                // liste.put("Type",type);
                liste.put("id",id);
                liste.put("email",email);
                list.add(liste);
            }
     
        } catch (JSONException e) {
            e.printStackTrace();
        }
     
        ListAdapter adapter = new SimpleAdapter(
                fragment3.this, list, R.layout.listView,
                new String[]{"id","email"},
                new int[]{R.id.id, R.id.name});
     
        listView.setAdapter(adapter);
    }
     
    private void getJSON(){
        class GetJSON extends AsyncTask<Void,Void,String> {
     
            ProgressDialog loading;
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(fragment3.this,"Fetching Data","Wait...",false,false);
            }
     
            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                JSON_STRING = s;
                display();
            }
     
            @Override
            protected String doInBackground(Void... params) {
                RequestHandler rh = new RequestHandler();
                String s = rh.sendGetRequest(URL);
                return s;
            }
        }
        GetJSON gj = new GetJSON();
        gj.execute();
    }
     
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent intent = new Intent(this, ViewUser.class);
        HashMap<String,String> map =(HashMap)parent.getItemAtPosition(position);
        String tid= map.get("id").toString();
        intent.putExtra("Type", tid);
        startActivity(intent);
    }
    J'ai eu ces erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    cannot find symbol method setContentView(int)
    cannot find symbol method findViewById(int) incompatible types: fragment3
    cannot be converted to OnItemClickListener
    cannot find symbol variable listView incompatible types: fragment3
    cannot be converted to Context method does not override or implement a method from a supertype
    cannot find symbol class ViewUser
    J'ai besoin de votre aide
    merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

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

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Points : 176
    Points
    176
    Par défaut
    Hello,

    Pourquoi écrire des instructions après ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return inflater.inflate(R.layout.fragment3, container, false);
    Sauf erreur de ma part elles ne seront jamais appelé...

    ton onCreateView devrait se limiter à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment3, container, false);
        }
    Ton but est de récupérer les données en base, les injecter dans ton listView?

    Jérémy.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par choukie12 Voir le message

    Ton but est de récupérer les données en base, les injecter dans ton listView?

    Jérémy.
    oui c ça

Discussions similaires

  1. Comment faire pour afficher les informations d'une base de donnée
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/03/2008, 09h24
  2. [VB.NET]afficher les tables d'une base de donnée
    Par amine_sh dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/11/2006, 11h00
  3. [MySQL] Afficher les tables d'une base de données ?
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2006, 21h25
  4. Tutoriel Afficher les infos d'une base de données
    Par dolf13 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 10h56
  5. Réponses: 4
    Dernier message: 29/11/2004, 16h51

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