private async static Task <IEnumerable <TrainPositionData> > GetPositionDatas(IEnumerable <TrainDataFile> trainDataFiles) { Dictionary <int, TrainDataFile> dict = new Dictionary <int, TrainDataFile>(); foreach (var tdf in trainDataFiles) { dict.Add(tdf.Station.StationId, tdf); } var lines = Enum.GetValues(typeof(JrhLine)).Cast <JrhLine>(); var result = new List <TrainPositionData>(); foreach (var line in lines) { if (line == JrhLine.Sekisyo) { continue; } try { var(arrivalData, departureData) = await TrainInfoReader.GetTrainPositionDataAsync(line, dict); result.Add(arrivalData); result.Add(departureData); } catch (NotImplementedException ex) { } } return(result); }
private async void RenderData(JrhLine jrhLine) { trainPostionLinearLayout.RemoveAllViews(); var(arrivalData, departureData) = await TrainInfoReader.GetTrainPositionDataAsync(jrhLine); for (var i = 0; i < arrivalData.Count; i++) { var lineRangeLinearLayout = new LinearLayout(this) { Orientation = Orientation.Horizontal }; var stationAreaLayout = new LinearLayout(this) { Orientation = Orientation.Vertical }; var stationLayoutParams = new LinearLayout.LayoutParams(0, -1) { Weight = 2 }; if (arrivalData[i].Item1.IsStation) { lineRangeLinearLayout.SetBackgroundColor(Android.Graphics.Color.Argb(0xff, 0xea, 0xea, 0xea)); var textView = new TextView(this) { Text = arrivalData[i].Item1.StartPos.Name, TextSize = 16, }; textView.SetPadding(30, 20, 0, 0); textView.Typeface = Typeface.DefaultBold; stationAreaLayout.AddView(textView); } else { lineRangeLinearLayout.SetBackgroundColor(Android.Graphics.Color.Argb(0xff, 0xff, 0xff, 0xff)); } lineRangeLinearLayout.AddView(stationAreaLayout, stationLayoutParams); var arrLayoutParams = new LinearLayout.LayoutParams(0, -1) { Weight = 3 }; var arrTrainLinearLayout = new LinearLayout(this) { Orientation = Orientation.Vertical }; var depLayoutParams = new LinearLayout.LayoutParams(0, -1) { Weight = 3 }; var depTrainLinearLayout = new LinearLayout(this) { Orientation = Orientation.Vertical }; foreach (var arr in arrivalData[i].Item2) { var textView = new TextView(this) { Text = $"↑{arr.Name.TrainType.GetName()} {arr.Destination.Name}行", }; arrTrainLinearLayout.AddView(textView); } foreach (var dep in departureData[i].Item2) { var textView = new TextView(this) { Text = $"↓{dep.Name.TrainType.GetName()} {dep.Destination.Name}行", }; depTrainLinearLayout.AddView(textView); } lineRangeLinearLayout.AddView(arrTrainLinearLayout, arrLayoutParams); lineRangeLinearLayout.AddView(depTrainLinearLayout, depLayoutParams); trainPostionLinearLayout.AddView(lineRangeLinearLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, 250)); } GettedTimeTextView.Text = $"{ DateTime.Now.ToString()} 現在の情報"; }