--- android/TrainInfo/src/dk/thoerup/traininfo/StationListAdapter.java 2010/06/11 09:26:05 833 +++ android/TrainInfo/src/dk/thoerup/traininfo/StationListAdapter.java 2011/07/08 13:10:53 1558 @@ -1,7 +1,8 @@ package dk.thoerup.traininfo; +import static dk.thoerup.traininfo.R.string.stationlistadapter_distance; + import java.text.NumberFormat; -import java.util.List; import android.content.Context; import android.view.LayoutInflater; @@ -9,19 +10,24 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; -import static dk.thoerup.traininfo.R.string.*; +import dk.thoerup.android.traininfo.common.StationBean; +import dk.thoerup.android.traininfo.common.StationEntry; public class StationListAdapter extends BaseAdapter { LayoutInflater inflater; - List stations; + StationBean stations; Context context; NumberFormat number = NumberFormat.getNumberInstance(); - public StationListAdapter(Context context) { + boolean showDistance; + + public StationListAdapter(Context context, boolean showDistance) { super(); this.context = context; + this.showDistance = showDistance; + inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); number.setMaximumFractionDigits(1); number.setMinimumFractionDigits(1); @@ -30,7 +36,7 @@ @Override public int getCount() { if (stations != null) - return stations.size(); + return stations.entries.size(); else return 0; } @@ -40,8 +46,8 @@ return null; } - public StationBean getStation(int position) { - return stations.get(position); + public StationEntry getStation(int position) { + return stations.entries.get(position); } @Override @@ -49,28 +55,28 @@ return position; } - public void setStations(List stations) { + public void setStations(StationBean stations) { this.stations = stations; notifyDataSetChanged(); } @Override public View getView(int position, View convertView, ViewGroup parent) { - StationBean station = stations.get(position); + StationEntry station = stations.entries.get(position); View root = inflater.inflate(R.layout.stationrow , parent, false); TextView tview = (TextView) root.findViewById(R.id.stationName); tview.setText(station.getName()); tview = (TextView) root.findViewById(R.id.stationDistance); - if (station.getDistance() != 0) { - tview.setText( context.getString(stationlistadapter_distance) + " " + number.format( (double)station.getDistance()/1000.0) + " km."); + if (showDistance == true) { + tview.setText( context.getString(stationlistadapter_distance) + " " + number.format( (double)station.getCalcdist()/1000.0) + " km."); } else { tview.setVisibility(View.GONE); } root.findViewById(R.id.isregional).setVisibility( station.isRegional() ? View.VISIBLE : View.INVISIBLE ); - root.findViewById(R.id.isstrain).setVisibility( station.isSTrain() ? View.VISIBLE : View.INVISIBLE ); + root.findViewById(R.id.isstrain).setVisibility( station.isStrain() ? View.VISIBLE : View.INVISIBLE ); root.findViewById(R.id.ismetro).setVisibility( station.isMetro() ? View.VISIBLE : View.INVISIBLE ); return root;