从 Xamarin 中的 TimePicker 获取选定时间 Android
Get Selected Time from TimePicker in Xamarin Android
既然他们说了 Java 可以做的任何事情,C# 可以做得更好...决定在 Xamarin Android 中设计一个闹钟应用程序,但我似乎无法获得所选时间的价值在 C# 中...一个称为 triggerTime 的变量,当警报时间成熟时应该播放一些音乐或显示警报对话框需要该值...
这是 TimePicker 的 xml...
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
这是在 AlarmActivity.cs
中定义时间选择器的 C# 代码
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
SetContentView(Resource.Layout.Alarm);
TimePicker timePicker2 = this.FindViewById<TimePicker>(Resource.Id.timePicker1);
//Code to getTime that user selects
感谢您的帮助
Xamarin 提供了使用 TimePicker
的完整示例
基本上,您需要实现 IOnTimeSetListener
,它有一个 OnTimeSet
方法
public void OnTimeSet(TimePicker view, int hourOfDay, int minute)
{
// hourOfDate and minute are the user's selected values
}
您可以使用 TimeChanged
事件来获取时间选择器更改的时间。
xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/timePicker1"/>
</RelativeLayout>
后面的代码:
TextView textView = FindViewById<TextView>(Resource.Id.textView1);
TimePicker timePicker1 = FindViewById<TimePicker>(Resource.Id.timePicker1);
timePicker1.TimeChanged += delegate
{
var h = timePicker1.CurrentHour;
var m = timePicker1.CurrentMinute;
textView.Text = h + ":" + m;
};
截图:
既然他们说了 Java 可以做的任何事情,C# 可以做得更好...决定在 Xamarin Android 中设计一个闹钟应用程序,但我似乎无法获得所选时间的价值在 C# 中...一个称为 triggerTime 的变量,当警报时间成熟时应该播放一些音乐或显示警报对话框需要该值... 这是 TimePicker 的 xml...
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
这是在 AlarmActivity.cs
中定义时间选择器的 C# 代码 base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
SetContentView(Resource.Layout.Alarm);
TimePicker timePicker2 = this.FindViewById<TimePicker>(Resource.Id.timePicker1);
//Code to getTime that user selects
感谢您的帮助
Xamarin 提供了使用 TimePicker
的完整示例基本上,您需要实现 IOnTimeSetListener
,它有一个 OnTimeSet
方法
public void OnTimeSet(TimePicker view, int hourOfDay, int minute)
{
// hourOfDate and minute are the user's selected values
}
您可以使用 TimeChanged
事件来获取时间选择器更改的时间。
xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/timePicker1"/>
</RelativeLayout>
后面的代码:
TextView textView = FindViewById<TextView>(Resource.Id.textView1);
TimePicker timePicker1 = FindViewById<TimePicker>(Resource.Id.timePicker1);
timePicker1.TimeChanged += delegate
{
var h = timePicker1.CurrentHour;
var m = timePicker1.CurrentMinute;
textView.Text = h + ":" + m;
};
截图: