Bonjour,
Je récupère grâce au Parser Json des articles de mon site web. Pour la mise en forme j'ai créer une classe MyAdapter. J'aimerais que mes 3 premiers articles de présente sous forme de slider (diaporama)
MonActivitePrincipale
Mon BaseAdapter
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 package com.b1905; import java.util.ArrayList; import java.util.HashMap; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import com.b1905.R; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.widget.AdapterView; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; public class Bastia1905Activity extends ListActivity { /** Called when the activity is first created. */ private myBaseAdapter adapter = null; private ListView lv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.attualita); ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); JSONObject json = JSONfunctions.getJSONfromURL("http://bastia1905.com/android/export_android.php"); try{ JSONArray earthquakes = json.getJSONArray("articles"); for(int i=0;i<earthquakes.length();i++){ HashMap<String, String> map = new HashMap<String, String>(); JSONObject e = earthquakes.getJSONObject(i); map.put("id", String.valueOf(i)); map.put("titre", e.getString("titre")); map.put("extrait", e.getString("extrait")); map.put("thumb", e.getString("thumb")); map.put("date", e.getString("date")); map.put("detail", e.getString("detail")); mylist.add(map); } }catch(JSONException e) { Log.e("log_tag", "Error parsing data "+e.toString()); } adapter = new myBaseAdapter(this,this,mylist); lv = getListView(); lv.setAdapter(adapter); lv.setTextFilterEnabled(true); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { @SuppressWarnings("unchecked") HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position); // Nous définissons notre intent en lui disant quelle classe il faut utiliser Intent affichearticle = new Intent(getApplicationContext(),ArticleActivity.class); affichearticle.putExtra("titre", o.get("titre")); affichearticle.putExtra("detail", o.get("detail")); // On appelle l'activity startActivity(affichearticle); } }); } }
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 package com.b1905; import java.util.ArrayList; import java.util.HashMap; import com.b1905.ImageLoader; import com.b1905.R; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; public class myBaseAdapter extends BaseAdapter { ArrayList<HashMap<String, String>> mylist; LayoutInflater inflater; //ImageView img; private Activity activity; public ImageLoader imageLoader; public myBaseAdapter (Context context, Activity mon_activite,ArrayList<HashMap<String, String>> myList) { activity = mon_activite; inflater = LayoutInflater.from (context); this.mylist = myList; imageLoader=new ImageLoader(activity.getApplicationContext()); } public int getCount () { return mylist.size (); } public Object getItem (int position) { return mylist.get (position); } public long getItemId (int position) { // TODO Auto-generated method stub return position; } public View getView (int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder (); convertView = inflater.inflate (R.layout.listplaceholder, null); holder.titre = (TextView) convertView.findViewById (R.id.item_title); holder.extrait = (TextView) convertView.findViewById (R.id.item_subtitle); holder.thumb = (ImageView) convertView.findViewById (R.id.item_thumb); holder.date = (TextView) convertView.findViewById (R.id.item_date); convertView.setTag (holder); } else { holder = (ViewHolder) convertView.getTag (); } // ALTERNANCE COULEUR LINEAR LAYOUT LinearLayout li=(LinearLayout)convertView.findViewById(R.id.linear_article); if(position % 2==0) { li.setBackgroundColor(Color.rgb(235,235,235)); } else li.setBackgroundColor(Color.rgb(255,255,255)); holder.titre.setText (mylist.get (position).get ("titre").toString ()); holder.extrait.setText (mylist.get (position).get ("extrait").toString ()); holder.date.setText ("Publié le "+mylist.get (position).get ("date").toString ()); imageLoader.DisplayImage(mylist.get (position).get ("thumb").toString (), activity, holder.thumb); return convertView; } public class ViewHolder { TextView titre; TextView extrait; ImageView thumb; TextView date; } }
Partager