teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Value から分を得る方法について追記しました。

2018/05/21 01:17

投稿

NakamuraYoichi
NakamuraYoichi

スコア374

answer CHANGED
@@ -8,4 +8,30 @@
8
8
  numberPicker1.SetDisplayedValues(new []{"0","5","10","15","20","25","30","35","40","45","50","55"});
9
9
  ```
10
10
 
11
- ネイティブの関数がそのまま使えるのでノウハウも持ち込める、というのは Xamarin の良いところだと思います。
11
+ ネイティブの関数がそのまま使えるのでノウハウも持ち込める、というのは Xamarin の良いところだと思います。
12
+
13
+ ---
14
+ 追記。`Value` から分を得る方法は、
15
+
16
+ ```C#
17
+ var minutes = 5 * numberPicker1.Value;
18
+ ```
19
+
20
+ で済ませても良いですし、
21
+
22
+ ```C#
23
+ var minutes = int.Parse(numberPicker1.GetDisplayedValues()[numberPicker1.Value]);
24
+ ```
25
+
26
+ と書いても良いと思います。全体を書き換えて次のようにする手もありそうです。お好みで。
27
+
28
+
29
+ ```C#
30
+ protected static int[] minutesArray = new[] {0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55};
31
+ (略)
32
+ numberPicker1.MaxValue = minutesArray.Length - 1;
33
+ numberPicker1.SetDisplayedValues(minutesArray.Select(_ => _.ToString()).ToArray());
34
+ (略)
35
+ var minutes = minutesArray[numberPicker1.Value];
36
+
37
+ ```