package com.theostriches.amaretto.android.fragment; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.TextView; import com.actionbarsherlock.app.SherlockListFragment; import com.theostriches.amaretto.android.EventActivity; import com.theostriches.amaretto.android.MainActivity; import com.theostriches.amaretto.android.R; import com.theostriches.amaretto.android.model.Event; import com.theostriches.amaretto.android.model.Point; import com.theostriches.amaretto.android.util.Log; import com.theostriches.amaretto.android.util.Util; public class EventListFragment extends SherlockListFragment implements OnItemClickListener { private MainActivity mMain; private ItemListAdapter adapter; private TextView emptyT; @Override public void onAttach(Activity activity) { super.onAttach(activity); mMain = (MainActivity) activity; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_products, container, false); adapter = new ItemListAdapter(mMain.getEventList()); emptyT = (TextView) v.findViewById(android.R.id.empty); setListAdapter(adapter); return v; } @Override public void onStart() { getListView().setEmptyView(emptyT); getListView().setOnItemClickListener(this); super.onStart(); } public class ItemListAdapter extends ArrayAdapter<Event> { private ArrayList<Event> mListProducts; public ItemListAdapter(ArrayList<Event> listLibros) { super(mMain, 0); this.mListProducts = listLibros; } public int getCount() { return mListProducts.size(); } public Event getItem(int position) { return mListProducts.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { View v; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mMain .getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.fragment_products_row, null); } else { v = convertView; } final Event p = getItem(position); if (p != null) { TextView tt = (TextView) v.findViewById(R.id.textViewTitle); if (tt != null) { tt.setText(p.getTitle()); } TextView td = (TextView) v.findViewById(R.id.textViewDesc); if (td != null) { td.setText(p.getDescription()); } TextView tu = (TextView) v.findViewById(R.id.textViewLimit); if (tu != null) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(p.getTimestampLimit()); tu.setText("Hasta " + calendar.get(Calendar.DAY_OF_MONTH) + "/" + calendar.get(Calendar.MONTH) + "/" + calendar.get(Calendar.YEAR)); } TextView tdd = (TextView) v.findViewById(R.id.textViewDistance); if (tdd != null) { Point point = mMain.getLocation(); if (point != null) { tdd.setText("a " + Math.round(Util.distFrom( Double.valueOf(p.getLatitude()).floatValue(), Double.valueOf(p.getLongitude()).floatValue(), Double.valueOf(point.getLatitude()).floatValue(), Double .valueOf(point.getLongitude()).floatValue())) + "m"); } } } return v; } } public void updateEvents() { adapter = new ItemListAdapter(mMain.getEventList()); setListAdapter(adapter); // adapter.notifyDataSetChanged(); Log.i("updateEvents"); } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Event e = mMain.getEventList().get(arg2); mMain.showEventActivity(e); } }