Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于android的简单数据选择器_Java_Android_Datepicker - Fatal编程技术网

Java 用于android的简单数据选择器

Java 用于android的简单数据选择器,java,android,datepicker,Java,Android,Datepicker,我试图在点击编辑文本时启动数据采集器 我想做什么: 有两个编辑文本 我想从两个编辑文本启动datepicker 我所做的: 我试过这么做 我已经拿了一个编辑文本作为样本 问题: 单击edittext时日期选择器未启动 logcat中没有错误 MainActivity.java public class MainActivity extends FragmentActivity { EditText edt; EditText edt2; @Override

我试图在点击编辑文本时启动数据采集器


我想做什么

  • 有两个编辑文本
  • 我想从两个编辑文本启动datepicker
  • 我所做的

  • 我试过这么做

  • 我已经拿了一个编辑文本作为样本

  • 问题

  • 单击edittext时日期选择器未启动

  • logcat中没有错误

  • MainActivity.java

    public class MainActivity extends FragmentActivity {
    
        EditText edt;
        EditText edt2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            edt=(EditText)findViewById(R.id.editText1);
            edt2=(EditText)findViewById(R.id.editText2);   
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            Calendar c = Calendar.getInstance();
            Calendar c1=Calendar.getInstance();
            c1.setTime(new Date());
            c.setTime(new Date()); // Now use today date.
            c.add(Calendar.DATE, 7); // Adding 7 days
            String ToDate = sdf.format(c.getTime());
            String FromDate = sdf.format(c1.getTime());
            edt2.setText(FromDate);
            edt.setText(ToDate);
        }
    
    
    
         public void selectDate(View view) {
                DialogFragment newFragment = new SelectDateFragment();
                newFragment.show(getSupportFragmentManager(), "DatePicker");
            }
            public void populateSetDate(int year, int month, int day) {
                edt2 = (EditText)findViewById(R.id.editText1);
                edt2.setText(day+"/"+month+"/"+year);
            }
            public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
                @Override
                public Dialog onCreateDialog(Bundle savedInstanceState) {
                    final Calendar calendar = Calendar.getInstance();
                    int yy = calendar.get(Calendar.YEAR);
                    int mm = calendar.get(Calendar.MONTH);
                    int dd = calendar.get(Calendar.DAY_OF_MONTH);
                    return new DatePickerDialog(getActivity(), this, yy, mm, dd);
                }
    
                public void onDateSet(DatePicker view, int yy, int mm, int dd) {
                    populateSetDate(yy, dd, mm+1);
                }
            }   
    }
    

    难道你没有忘记在
    onCreate
    中设置onClickListener吗?或者它是xml中的句柄

    edt2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            selectDate(null);//I set null cause I don't know in the function what should the view be.
        }
    });
    

    难道你没有忘记在
    onCreate
    中设置onClickListener吗?或者它是xml中的句柄

    edt2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            selectDate(null);//I set null cause I don't know in the function what should the view be.
        }
    });
    

    您只需实现Edittext onClickListner onClick()事件:


    您只需实现Edittext onClickListner onClick()事件:


    DatePicker未启动,因为您尚未在代码中为
    EditText
    设置
    onClickListener

    如下所示,为两个EditText设置单击侦听器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt=(EditText)findViewById(R.id.editText1);
        edt2=(EditText)findViewById(R.id.editText2);   
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Calendar c = Calendar.getInstance();
        Calendar c1=Calendar.getInstance();
        c1.setTime(new Date());
        c.setTime(new Date()); // Now use today date.
        c.add(Calendar.DATE, 7); // Adding 7 days
        String ToDate = sdf.format(c.getTime());
        String FromDate = sdf.format(c1.getTime());
        edt2.setText(FromDate);
        edt.setText(ToDate);
    
        edt2.setOnClickListener(new OnClickListener() {
           @Override
          public void onClick(View v) {
           selectDate(v);
            }
       });
    
      edt.setOnClickListener(new OnClickListener() {
           @Override
          public void onClick(View v) {
           selectDate(v); //Pass the View as parameter. 
            }
       });
    }
    

    DatePicker未启动,因为您尚未在代码中为
    EditText
    设置
    onClickListener

    如下所示,为两个EditText设置单击侦听器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt=(EditText)findViewById(R.id.editText1);
        edt2=(EditText)findViewById(R.id.editText2);   
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Calendar c = Calendar.getInstance();
        Calendar c1=Calendar.getInstance();
        c1.setTime(new Date());
        c.setTime(new Date()); // Now use today date.
        c.add(Calendar.DATE, 7); // Adding 7 days
        String ToDate = sdf.format(c.getTime());
        String FromDate = sdf.format(c1.getTime());
        edt2.setText(FromDate);
        edt.setText(ToDate);
    
        edt2.setOnClickListener(new OnClickListener() {
           @Override
          public void onClick(View v) {
           selectDate(v);
            }
       });
    
      edt.setOnClickListener(new OnClickListener() {
           @Override
          public void onClick(View v) {
           selectDate(v); //Pass the View as parameter. 
            }
       });
    }