本文介绍如何创建一个Android应用程序以使用CalendarView显示日历。它还提供了当前日期的选择和显示日期。使用setOnDateChangeListener接口,该接口提供onSelectedDayChange方法。
- onSelectedDayChange:在此方法中,我们获得用户选择的天,月和年的值。
以下是创建日历的Android应用程序的步骤。
- 步骤1:创建一个新项目,您将拥有一个布局XML文件和Java文件。您的屏幕将如下图所示。
- 步骤2:打开xml文件,然后添加CalendarView和TextView。并将id分配给TextView和CalendarView。完成此过程后,xml文件屏幕如下所示。
- 步骤3:现在,打开活动Java文件并定义CalendarView和TextView类型变量,并使用findViewById()获取Calendarview和textview。
- 步骤4:现在,在提供setOnDateChangeListener方法的CalendarView对象中添加setOnDateChangeListener接口。在这种方法中,我们获取日期(天,月,年),并在TextView for Display中设置日期。
- 步骤5:现在运行应用程序并设置当前日期,该日期将显示在屏幕顶部。
MainActivity的完整代码。日历的Java或activity_main.xml如下所示。
activity_main.xml
MainActivity.java
package org.geeksforgeeks.navedmalik.calendar; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.CalendarView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { // Define the variable of CalendarView type // and TextView type; CalendarView calender; TextView date_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // By ID we can use each component // which id is assign in xml file // use findViewById() to get the // CalendarView and TextView calender = (CalendarView) findViewById(R.id.calender); date_view = (TextView) findViewById(R.id.date_view); // Add Listener in calendar calender .setOnDateChangeListener( new CalendarView .OnDateChangeListener() { @Override // In this Listener have one method // and in this method we will // get the value of DAYS, MONTH, YEARS public void onSelectedDayChange( @NonNull CalendarView view, int year, int month, int dayOfMonth) { // Store the value of date with // format in String type Variable // Add 1 in month because month // index is start with 0 String Date = dayOfMonth + "-" + (month + 1) + "-" + year; // set this date in TextView for Display date_view.setText(Date); } }); } }
输出: