c# - Xamarin Android 和日期选择器

标签 c# android xamarin.android

Android 中的日期选择器比 Windows Phone 中的日期选择器复杂得多,Windows 中的简单代码是这样的。 (日期选择器和文本框)

public MainPage()
    {
        InitializeComponent();
        this.datePicker1.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>
            (datePicker1_ValueChanged);
        DateTime MyVal = DateTime.Today;
       textBlock1.Text = MyVal.AddDays(35).ToShortDateString();

    }

    private void datePicker1_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
    {
        DateTime date = (DateTime)e.NewDateTime;
        this.textBlock1.Text = date.AddDays(35).ToShortDateString();

    }

如果您使用 Xamarin,您可以使用 C# 代码还是使用 Java 代码。哪种方法最简单?

最佳答案

axml:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/date_EditText" />

Activity .cs

    [Activity(Label = "YourApp", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity, IOnDateSetListener
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);

        var dateEditText = FindViewById<EditText>(Resource.Id.date_EditText);
        dateEditText.Text = DateTime.Now.ToShortDateString();
        dateEditText.Click += delegate
        {
            OnClickDateEditText();
        };
    }

    private void OnClickDateEditText()
    {
        var dateTimeNow = DateTime.Now;
        DatePickerDialog datePicker = new DatePickerDialog(this, this, dateTimeNow.Year, dateTimeNow.Month, dateTimeNow.Day);
        datePicker.Show();
    }

    public void OnDateSet(DatePicker view, int year, int month, int dayOfMonth)
    {
        FindViewById<EditText>(Resource.Id.date_EditText).Text = new DateTime(year, month, dayOfMonth).ToShortDateString();
    }
}

关于c# - Xamarin Android 和日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41924734/

相关文章:

c# - 使用 PrintDocument 打印多页

c# - 如何从 CSharp 中的列表中获取百分位数?

php - 查询mysql数据库时PDO查询没有返回结果

android - alarmmanager 中的延迟 .. 当两个警报同时存在时

Android 应用程序中的 C# .dll 库

c# - 在 Where Linq 语句中使用具有泛型类型的 == 运算符

c# - VS2008 安装项目 : Uninstalling the previous MSI

android - 如何从android中的画廊上传图片

android - 如何为现有应用扩展 Android 版本目标版本

android - Android 中代码的可重用性