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"