开发者社区> 问答> 正文

关于Android 点击一个区域弹出选择日期 的问题

安卓开发中,怎么做到点击一个区域,然后弹出选择出生日期,麻烦大神写的详细点,包括.xml文件和 java文件。谢谢好心人!

展开
收起
爵霸 2016-03-16 08:56:36 1864 0
1 条回答
写回答
取消 提交回答
  • java文件

    public class DialogTest extends Activity {
     private int mYear, mMonth, mDay;
     TextView date;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog);
    
        date = (TextView) findViewById(R.id.date);
        date.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                showDialog(0);
            }
        });
    }
    
    private final DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            mYear = year;
            String mm;
            String dd;
    
            mMonth = monthOfYear + 1;
            mm = String.valueOf(mMonth);
            if (mm.length() < 2)
                mm = "0" + mm;
    
            mDay = dayOfMonth;
            dd = String.valueOf(mDay);
            if (dd.length() < 2)
                dd = "0" + dd;
    
            date.setText(String.valueOf(mYear) + "-" + mm + "-" + dd);
        }
    };
    
    @Override
    protected Dialog onCreateDialog(int id) {
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);
    
        switch (id) {
        case 0:
            return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
                    mDay);
        }
        return null;
    }
    
    
    }
    
    xml文件
    <?xml version="1.0" encoding="utf-8"?>
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical" >
    <TextView
        android:id="@+id/date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:text="点我"/>

    之前用过的一个,用xml布局datepicker更方便,多看看书,都有介绍

    2019-07-17 19:03:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载