package net.dewep.intranetepitech; import java.util.ArrayList; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.TextView; public class AdapterInscriptions extends BaseAdapter implements OnClickListener { LayoutInflater inflater; Context context; public AdapterInscriptions(Context context) { this.context = context; inflater = LayoutInflater.from(context); } @Override public int getCount() { return Stock.getInstance().calGetCount(); } @Override public Object getItem(int position) { return getAct(position); } @Override public long getItemId(int position) { return position; } protected Activite getAct(int position) { ArrayList<InfosCalendrier> ics = Stock.getInstance().cal; int index = 0; while (position > ics.get(index).acts.size()) { position -= ics.get(index).acts.size() + 1; index++; } if (position == 0) return (null); return (ics.get(index).acts.get(position - 1)); } protected String getJour(int position) { ArrayList<InfosCalendrier> ics = Stock.getInstance().cal; int index = 0; while (position > ics.get(index).acts.size()) { position -= ics.get(index).acts.size() + 1; index++; } if (position == 0) return (ics.get(index).jour); return (""); } @Override public View getView(int position, View convertView, ViewGroup parent) { Activite act = null; String txt = null; convertView = inflater.inflate(R.layout.error, null); TextView error_txt = (TextView) convertView.findViewById(R.id.error_txt); error_txt.setText(context.getString(R.string.aucune_donnee)); if (Stock.getInstance().cal.size() == 0) { } else if (!(txt = getJour(position)).equals("")) { convertView = inflater.inflate(R.layout.item_calendrier_jour, null); TextView jour = (TextView) convertView.findViewById(R.id.jour); jour.setText(ManipulateDate.convert_date(txt)); } else if ((act = getAct(position)) != null) { convertView = inflater.inflate(R.layout.item_calendrier_activites, null); TextView titre = (TextView) convertView.findViewById(R.id.activite_titre); TextView infos = (TextView) convertView.findViewById(R.id.activite_infos); Button token = (Button) convertView.findViewById(R.id.token); titre.setText(act.start + " - " + act.end + "\n" + act.name); infos.setText(act.toString()); token.setId(position); token.setOnClickListener(this); if (act.registered.equals("registered")) token.setText("D�sinscription"); else token.setText("Inscription"); } convertView.invalidate(); return convertView; } @Override public void onClick(View v) { if (v.getId() >= getCount() && v.getId() < 0) return ; Activite act = getAct(v.getId()); RecupDonneesNet mnm = new RecupDonneesNet(this.context, true); MyRequest req = new MyRequest(); req.obj = v; req.type = Global.T_INSCRIPTION_INSCRIPTIONS; if (act.registered.equals("registered")) { act.registered = ""; ((Button) v).setText("Inscription"); req.url = "/module/" + act.url_event + "/unregister?format=json"; } else { act.registered = "registered"; ((Button) v).setText("D�sinscription"); req.url = "/module/" + act.url_event + "/register?format=json"; } mnm.execute(req); } }