--- android/TrainInfo/src/dk/thoerup/traininfo/StationListAdapter.java 2009/08/08 19:02:20 237 +++ android/TrainInfo/src/dk/thoerup/traininfo/StationListAdapter.java 2010/09/16 15:32:42 1066 @@ -1,5 +1,7 @@ package dk.thoerup.traininfo; +import static dk.thoerup.traininfo.R.string.stationlistadapter_distance; + import java.text.NumberFormat; import java.util.List; @@ -9,11 +11,13 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; +import dk.thoerup.android.traininfo.common.StationBean; +import dk.thoerup.android.traininfo.common.StationBean.StationEntry; public class StationListAdapter extends BaseAdapter { LayoutInflater inflater; - List stations; + StationBean stations; Context context; NumberFormat number = NumberFormat.getNumberInstance(); @@ -29,7 +33,7 @@ @Override public int getCount() { if (stations != null) - return stations.size(); + return stations.entries.size(); else return 0; } @@ -39,8 +43,8 @@ return null; } - public StationBean getStation(int position) { - return stations.get(position); + public StationEntry getStation(int position) { + return stations.entries.get(position); } @Override @@ -48,21 +52,29 @@ 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); - tview.setText("Distance: " + number.format( (double)station.getDistance()/1000.0) + " km."); + if (station.getCalcdist() != 0) { + 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.ismetro).setVisibility( station.isMetro() ? View.VISIBLE : View.INVISIBLE ); return root; }