从Xamarin Android中的TimePicker获取选定的时间

问题描述

由于他们说了Java可以做的任何事情,所以C#可以做得更好...决定在Xamarin Android中设计一个警报应用程序,而我似乎无法在C#中获得所选时间的值...一个称为TriggerTime的变量当警报时间到期时,应该播放一些音乐或显示警报对话框需要该值... 这是TimePicker的xml ...

 <TimePicker
        android:id="@+id/timePicker1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"/>

这是C#代码,具有在AlarmActivity.cs中定义的时间选择

 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;

        };

截屏:

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...