Dragon_nogarD 2016-02-17 09:18 采纳率: 80%
浏览 4827
已采纳

Android 点击一个区域弹出选择日期

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

  • 写回答

5条回答

  • 丑旦 2016-02-17 10:49
    关注

    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更方便,多看看书,都有介绍

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题