java - 在 Android 上从另一个 xml 文件中的 DatePicker 获取日期

标签 java android datepicker

我想从另一个 xml 文件中的 DatePicker 获取日期(日、月、年)。但应用程序在不使用 InflatedView 的情况下会出现 NullPointerException 错误。如果我使用 InflatedView,则不会获取日期。如何从另一个 xml 文件中的 DatePicker 获取日期?

   public void customAlertDialog(){

    final Dialog dialog = new Dialog(HesapActivity.this);
        dialog.setContentView(R.layout.dateset);
        dialog.setTitle("Date");
        theInflatedView = getLayoutInflater().inflate(R.layout.dateset, null);
        final DatePicker dpFirst = (DatePicker) theInflatedView.findViewById(R.id.datePicker1);
        final str;
        dpFirst.init(dpFirst.getYear(), dpFirst.getMonth(), dpFirst.getDayOfMonth(),new OnDateChangedListener() {

             @Override
             public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
             str=(arg3+ "."+ (arg2+1) + "."+arg1);
             }
             } );

        Button dialogButton = (Button) dialog.findViewById(R.id.setDPBt);
        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {       
                textFirst.setText(str);//textFirst is MainActivity variable.
                dialog.dismiss();
            }
        });

        dialog.show();


  }

在onCreate()中

 customAlertDialog();

单击 AlertDialog 中的按钮时不要设置文本日期

------更新--------

我解决了下面的问题

final DatePicker dpFirst = (DatePicker) dialog.findViewById(R.id.datePicker1);//I changed theInflatedView to dialog

最佳答案

更改如下:

public void customAlertDialog(){

final Dialog dialog = new Dialog(HesapActivity.this);
    dialog.setContentView(R.layout.dateset);
    dialog.setTitle("Date");
    theInflatedView = getLayoutInflater().inflate(R.layout.dateset, null);
    final DatePicker dpFirst = (DatePicker) theInflatedView.findViewById(R.id.datePicker1);
    final str;
    dpFirst.init(dpFirst.getYear(), dpFirst.getMonth(), dpFirst.getDayOfMonth(),new OnDateChangedListener() {

         @Override
         public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
         str=(arg3+ "."+ (arg2+1) + "."+arg1);
         }
         } );

    Button dialogButton = (Button) dialog.findViewById(R.id.setDPBt);
    dialogButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {       
            textFirst.setText(str);//textFirst is MainActivity variable.
            dialog.dismiss();
        }
    });

    dialog.show();


  }

public void customAlertDialog(){

final Dialog dialog = new Dialog(HesapActivity.this);
    dialog.setContentView(R.layout.dateset);
    dialog.setTitle("Date");
    theInflatedView = getLayoutInflater().inflate(R.layout.dateset, null);
    final DatePicker dpFirst = (DatePicker) theInflatedView.findViewById(R.id.datePicker1);
    final str;
    dpFirst.init(dpFirst.getYear(), dpFirst.getMonth(), dpFirst.getDayOfMonth(),new OnDateChangedListener() {

         @Override
         public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
         textFirst.setText(arg3+ "."+ (arg2+1) + "."+arg1);
         }
         } );

    Button dialogButton = (Button) dialog.findViewById(R.id.setDPBt);
    dialogButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {       
            dialog.dismiss();
        }
    });

    dialog.show();


  }

关于java - 在 Android 上从另一个 xml 文件中的 DatePicker 获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261373/

相关文章:

java - 使用 IntentService 进行优先网络

Android - 为自定义对话框指定自定义主题 AlertDialog.Builder 将内容包装在对话框中

javascript - 删除占位符输入类型日期上的 mm/dd/yyyy

javascript - 您知道可以快速选择本周的某一天的日期选择器吗?

java - 使用 JAX-RS 保持干燥

java - 我们是否在 UML 类图中的两个类中应用相同的操作?

java - 如何在 Android 中使用 JarJar 来更改外部 jar 的包名?

android - 如何获取日期值并使用json android将其发送到服务器?

java - 关于Java中JTextField的一个问题

Android-ndk - 用于 cygwin 的 ndk-build 的简单构建脚本