您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在Android中彈出DatePickerDialog并獲取值,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.activity_main.xml頁面定義TextView。
activity_main.xml頁面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/tvShowDialog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="76dp" android:text="日期" /> </RelativeLayout>
2.MainActivity.java頁面打開獲取當前日期以及DatePickerDialog。
MainActivity.java頁面:
package com.example.textcalendar; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.DatePicker; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener{ private TextView tvShowDialog; private Calendar cal; private int year,month,day; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取當前日期 getDate(); tvShowDialog=(TextView) findViewById(R.id.tvShowDialog); tvShowDialog.setOnClickListener(this); } //獲取當前日期 private void getDate() { cal=Calendar.getInstance(); year=cal.get(Calendar.YEAR); //獲取年月日時分秒 Log.i("wxy","year"+year); month=cal.get(Calendar.MONTH); //獲取到的月份是從0開始計數 day=cal.get(Calendar.DAY_OF_MONTH); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.tvShowDialog: OnDateSetListener listener=new OnDateSetListener() { @Override public void onDateSet(DatePicker arg0, int year, int month, int day) { tvShowDialog.setText(year+"-"+(++month)+"-"+day); //將選擇的日期顯示到TextView中,因為之前獲取month直接使用,所以不需要+1,這個地方需要顯示,所以+1 } }; DatePickerDialog dialog=new DatePickerDialog(MainActivity.this, 0,listener,year,month,day);//后邊三個參數為顯示dialog時默認的日期,月份從0開始,0-11對應1-12個月 dialog.show(); break; default: break; } } }
3.需要注意的是,獲取日期時月份是從0開始,另外打開對話框時默認月份也是從0開始,因為month本來就是系統中獲取,不需要加1,但是指定具體數字時,需要在你想顯示的月份上加1
Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。
關于如何在Android中彈出DatePickerDialog并獲取值就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。