Skip to content Skip to sidebar Skip to footer

Reading Selected Date Without Datepickeview In Android Studio

I am Parvanshu Sharma and I am a beginner to programming, I am making an application in which I have done that on button click a date Picker dialog will appear and the button text

Solution 1:

Tried using an interface. You will have all 3 dates in your main activity, now you can do whatever with them

publicclassDatePickerFragmentextendsDialogFragment {

    privatestatic applyDate mInterface;
    privatestaticint buttonNumberHere;

    publicinterfaceapplyDate {
        voidsetDate(int selectedYear, int selectedMonth, int selectedDay, int buttonNumber);
    }

    publicstatic DatePickerFragment newInstance(int buttonNumber, applyDate context) 
    {
    
        DatePickerFragmentfragment=newDatePickerFragment();
        mInterface = ((applyDate) context);
        buttonNumberHere = buttonNumber;
        return fragment;
    }

    @NonNull@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState) {
        Calendarc= Calendar.getInstance();
        intyear= c.get(Calendar.YEAR);
        intmonth= c.get(Calendar.MONTH);
        intday= c.get(Calendar.DAY_OF_MONTH);
        returnnewDatePickerDialog(getContext(), datePickerListener, year, month, day);
    }
    

    private DatePickerDialog.OnDateSetListenerdatePickerListener=newDatePickerDialog.OnDateSetListener() {

        publicvoidonDateSet(DatePicker view, int selectedYear,
                          int selectedMonth, int selectedDay) {
            mInterface.setDate(selectedYear, selectedMonth, selectedDay, buttonNumberHere);
        }
    };

In MainActivity

publicclassMainActivityextendsAppCompatActivityimplementsapplyDate, AdapterView.OnItemSelectedListener {
    
        String CurrentDateString;
        TextView mainDate;// Idk what is thisIntegerOrderQuantity=3;
        String itemOneDate;
        String itemTwoDate;
        String itemThreeDate;
    
        @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ButtonSelectDate1= findViewById(R.id.SelectDateButton1);
            ButtonSelectDate2= findViewById(R.id.SelectDateButton2);
            ButtonSelectDate3= findViewById(R.id.SelectDateButton3);
    
            SelectDate1.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {
                    DatePickerFragmentdatePicker= DatePickerFragment.newInstance(1, MainActivity.this);
                    datePicker.show(getSupportFragmentManager(), "Pick item order date");
    
                    mainDate = SelectDate1;
                }
            });
    
            SelectDate2.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {
                    DatePickerFragmentdatePicker= DatePickerFragment.newInstance(2, MainActivity.this);
                    datePicker.show(getSupportFragmentManager(), "Pick item order date");
    
                    mainDate = SelectDate2;
                }
            });
    
            SelectDate3.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {
                    DatePickerFragmentdatePicker= DatePickerFragment.newInstance(3, MainActivity.this);
                    datePicker.show(getSupportFragmentManager(), "Pick item order date");
    
                    mainDate = SelectDate3;
                }
            });
    
            ArrayAdapter<CharSequence> FoodAdapter = ArrayAdapter.createFromResource(this, R.array.FoodList, android.R.layout.simple_spinner_item);
            FoodAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
            SpinnerSelectItem1= findViewById(R.id.SelectItem1);
            SelectItem1.setAdapter(FoodAdapter);
            SelectItem1.setOnItemSelectedListener(this);
    
            SpinnerSelectItem2= findViewById(R.id.SelectItem2);
            SelectItem2.setAdapter(FoodAdapter);
            SelectItem2.setOnItemSelectedListener(this);
    
            SpinnerSelectItem3= findViewById(R.id.SelectItem3);
            SelectItem3.setAdapter(FoodAdapter);
            SelectItem3.setOnItemSelectedListener(this);
    
            ArrayAdapter<CharSequence> QuantityAdapter = ArrayAdapter.createFromResource(this, R.array.Quantity, android.R.layout.simple_spinner_item);
            QuantityAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
            SpinnerQuantity1= findViewById(R.id.SelectQuantity1);
            Quantity1.setAdapter(QuantityAdapter);
            Quantity1.setOnItemSelectedListener(this);
    
            SpinnerQuantity2= findViewById(R.id.SelectQuantity2);
            Quantity2.setAdapter(QuantityAdapter);
            Quantity2.setOnItemSelectedListener(this);
    
            SpinnerQuantity3= findViewById(R.id.SelectQuantity3);
            Quantity3.setAdapter(QuantityAdapter);
            Quantity3.setOnItemSelectedListener(this);
    
            ButtonDoneButton= findViewById(R.id.DoneButton);
    
            EditTextPersonName= findViewById(R.id.PersonName);
            EditTextPersonPhone= findViewById(R.id.PersonPhone);
            EditTextPersonAddress= findViewById(R.id.PersonAddress);
    
            FirebaseDatabasedatabase= FirebaseDatabase.getInstance();
    
            DoneButton.setOnClickListener(newView.OnClickListener() {
                @OverridepublicvoidonClick(View v) {

                    //Idk how to set date but now you have all three datesDatabaseReferencedateOne= database.getReference(itemOneDate + "/DateOne");
                    dateOne.setValue(itemOneDate);

                    DatabaseReferencedateTwo= database.getReference(itemOneDate + "/DateTwo");
                    dateTwo.setValue(itemTwoDate);

                    DatabaseReferencedateThree= database.getReference(itemThreeDate + "/DateThree");
                    dateThree.setValue(itemThreeDate);

                    DatabaseReferenceName= database.getReference(PersonPhone.getText().toString() + "/Name");
                    Name.setValue(PersonName.getText().toString());
    
                    DatabaseReferencePhone= database.getReference(PersonPhone.getText().toString() + "/Phone");
                    Phone.setValue(PersonPhone.getText().toString());
    
                    DatabaseReferenceAddress= database.getReference(PersonPhone.getText().toString() + "/Address");
                    Address.setValue(PersonAddress.getText().toString());
    
                    if (Quantity1.getSelectedItem().toString().equals("0")) {
                        OrderQuantity -= 1;
                    }
    
                    if (Quantity2.getSelectedItem().toString().equals("0")) {
                        OrderQuantity -= 1;
                    }
    
                    if (Quantity3.getSelectedItem().toString().equals("0")) {
                        OrderQuantity -= 1;
                    }
    
                    DatabaseReferenceOrderQuantities= database.getReference(PersonPhone.getText().toString()+"/OrderQuantity");
                    OrderQuantities.setValue(OrderQuantity);
    
                    if (Quantity1.getSelectedItem().toString() != "0") {
                        //I want some solution HERE
                    }
                }
            });
        }

        @OverridepublicvoidsetDate(int selectedYear, int selectedMonth, int selectedDay, int buttonNumber){
            Calendarc= Calendar.getInstance();
            c.set(Calendar.YEAR, selectedYear);
            c.set(Calendar.MONTH, selectedMonth);
            c.set(Calendar.DAY_OF_MONTH, selectedDay);

            SimpleDateFormatformat=newSimpleDateFormat("dd-MM-yyyy");
            StringCurrentDateString= format.format(c.getTime());
            mainDate.setText(CurrentDateString);

            if (buttonNumber == 1){
                itemOneDate = CurrentDateString;
            }
            elseif (buttonNumber == 2){
                itemTwoDate = CurrentDateString;
            }
            elseif (buttonNumber == 3){
                itemThreeDate = CurrentDateString;
            }
        }
}

Post a Comment for "Reading Selected Date Without Datepickeview In Android Studio"