mercredi 6 mai 2015

listview in Fragment

Where is the problem? Everything correctly in the XML,Please correct me ,And thank you in advance,is the problem? Everything correctly in the XML Please correct me And thank you in advance. sorry i dont speak english 100/100.

package PFD.agence_d_allocation;



import java.sql.Array;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.Resources;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Base64;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import PFD.agence_d_allocation.Menu;
public class Les_agences extends Fragment{
    /* ****************************************** */
    /*              Les Variables                */
    /* ****************************************** */

    public  String string_ip="192.168.42.168";
    public  Resources res;
    public  JSONObject json;
    public  ListView les_agence_tete_lsiteview;
    public TextView les_agence_tv_item_adresse;
    public TextView les_agence_tv_item_nom;
    public ImageView les_agences_iv_item_image;
    public ListView liste_view ;
    ArrayList<item_Les_agences_liste_view> liste;
    item_Les_agences_liste_view item;
    JSONArray jsonoarray=null;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        /* pour creer le fragment*/

        les_agence_tv_item_adresse = (TextView) getActivity().findViewById(R.id.les_agence_tv_item_adresse);
          les_agence_tv_item_nom=(TextView) getActivity().findViewById(R.id.les_agence_tv_item_adresse);
          les_agences_iv_item_image=(ImageView) getActivity().findViewById(R.id.les_agences_iv_item_image);

          View x =   inflater.inflate(
                R.layout.les_agences, container, false);

         return x ;
    }

    @Override
    public void onStart() {
        super.onStart();
        res =getResources();
    }


    @Override
    public void onResume() {
        super.onResume();
connecter();

    }


    void connecter()
    {
         new AsyncTask<Void, Void, Boolean>()
            {
                ProgressDialog progress ;
                @Override
                protected void onPreExecute() {
                    super.onPreExecute();
                    progress = ProgressDialog.show(getActivity(),
                                                res.getString(R.string.act2_connexion),
                                                res.getString(R.string.act2_attendre),false,false);
                }

                @Override
                protected Boolean doInBackground(Void... params) {
                thread processus = new thread();
                processus.setPaire(null);
                processus.seturl("http://"+string_ip+"/agence_de_location/les_agences.php");
                processus.start();
                try {
                    processus.join();
                } catch (InterruptedException e1) {

                    e1.printStackTrace();
                }
                json = processus.getJson();



                if(json == null)
                    return(false );
                else 
                    return(true);
                }

                @Override
                protected void onPostExecute(Boolean result) {
                    progress.dismiss();
                    if(result==false)
                    {
                        Toast.makeText(getActivity(),res.getString(R.string.act2_erreur_connexion), 10000).show();
                    }
                    else
                    {

                        int val = 0 ;
                        try {
                            val= json.getInt("val");
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }   

                        if(val == 0)
                        {

                            Toast.makeText(getActivity(),res.getString(R.string.act2_erreur_connexion), 10000).show();

                        }
                        else
                        {
                            /******************************************************** */
                            /*              Pour afficher les agences                 */
                            /******************************************************** */

                            // pour afficher    
                             liste =  new ArrayList<item_Les_agences_liste_view>();

                                try {
                                    jsonoarray = (JSONArray) json.get("agence");
                                } catch (JSONException e) {

                                }
                                /* Yes return les champs  */
                                int indice ;
                                item_Les_agences_liste_view item;

                                for(indice=0;indice <= jsonoarray.length()-1;indice++)
                                {

                                    /* new array , grand array agence 0 : 1 : 2 : ... 
                                     *petit array 0: .... 
                                     */
                                    JSONObject petitearray = null;
                                    try {
                                         petitearray =jsonoarray.getJSONObject(indice);
                                    } catch (JSONException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }



                                    /* catch entre new class */
                                    try {

                                        Log.i(petitearray.getString("nom_agence"),petitearray.getString("nom_agence"));
                                        item =new item_Les_agences_liste_view(
                                                petitearray.getString("nom_agence"), 
                                                petitearray.getString("adresse_agence"), 
                                                petitearray.getString("image_agence"));
                                                liste.add(item);        

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

                    }

                    liste_view = (ListView) getActivity().findViewById(R.id.Les_agences_lv);

                    Adapter_les_agences_list_view adapter =new Adapter_les_agences_list_view(getActivity().getApplicationContext(),liste);
                    liste_view.setAdapter(adapter);

            }

          }.execute();
        }

    /******************************************************** */
    /*              class adapter                             */
    /******************************************************** */


     class Adapter_les_agences_list_view extends ArrayAdapter<item_Les_agences_liste_view>{



        private Context context;
        private ArrayList<item_Les_agences_liste_view> liste;


        public Adapter_les_agences_list_view (Context context, ArrayList <item_Les_agences_liste_view> liste) 
        {
            super(context, R.layout.les_agences_liste_view  , liste);
             this.context = context;
             this.liste = liste;

        }


        // le nombre des élements de la lsite 
        @Override
        public int getCount() {
            return liste.size();  // nmbre des element 
        }

        @Override
        public long getItemId(int position) {
            return position;
        }


        @Override
        public View getView(final int position, View convertView, ViewGroup parent)
        {
            View new_place =convertView;

            if(convertView == null)//adapter le 1er fois s 
            {
                // style
                LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View rowView = li.inflate(R.layout.les_agences_liste_view,null);

            }



            les_agence_tv_item_adresse = (TextView) getActivity().findViewById(R.id.les_agence_tv_item_adresse);

            les_agence_tv_item_nom=(TextView) getActivity().findViewById(R.id.les_agence_tv_item_adresse);
          //les_agences_iv_item_image=(ImageView)convertView.findViewById(R.id.les_agences_iv_item_image);



            return convertView;
        }











    }
}

Aucun commentaire:

Enregistrer un commentaire