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

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);
			}
		});
 
 
 
    }
}
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
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;
	}
 
 
}