如何设置两个或多个DatePicker并将其显示在TextView上? [英] How to set two or more DatePicker and Display it on TextView?
本文介绍了如何设置两个或多个DatePicker并将其显示在TextView上?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在单个屏幕中设置了三个 DatePicker
。它工作正常,但是问题是,当我在所有其他datepicker的Textview中设置的那个日期日期设置了一个 DatePicker
时。
I set Three DatePicker
in single Screen. it is working properly, but the problem is that while i set one DatePicker
at that tym date is set in all other datepicker's Textview.
此处 Main.Java
package com.example.sachin.datepicker;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
EditText openingdate,Birthdate,Anniversary;
Calendar calendar ;
DatePickerDialog datePickerDialog,datePickerDialog1 ;
int Year, Month, Day ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
openingdate = (EditText)findViewById(R.id.openingdate);
Birthdate = (EditText)findViewById(R.id.Birthdate);
Anniversary = (EditText)findViewById(R.id.Anniversary);
calendar = Calendar.getInstance();
Year = calendar.get(Calendar.YEAR) ;
Month = calendar.get(Calendar.MONTH);
Day = calendar.get(Calendar.DAY_OF_MONTH);
Birthdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog1 = DatePickerDialog.newInstance(MainActivity.this, Year, Month, Day);
datePickerDialog1.setThemeDark(false);
datePickerDialog1.showYearPickerFirst(false);
datePickerDialog1.setAccentColor(Color.parseColor("#009688"));
datePickerDialog1.setTitle("Select Date From DatePickerDialog");
datePickerDialog.show(getFragmentManager(), "DatePickerDialog");
}
});
openingdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerDialog = DatePickerDialog.newInstance(MainActivity.this, Year, Month, Day);
datePickerDialog.setThemeDark(false);
datePickerDialog.showYearPickerFirst(false);
datePickerDialog.setAccentColor(Color.parseColor("#009688"));
datePickerDialog.setTitle("Select Date From DatePickerDialog");
datePickerDialog.show(getFragmentManager(), "DatePickerDialog");
}
});
}
@Override
public void onDateSet(DatePickerDialog view, int Year, int Month, int Day) {
String date = "Selected Date : " + Day + "-" + Month + "-" + Year;
openingdate.setText(date);
String date1 = "Selected Date : " + Day + "-" + Month + "-" + Year;
Birthdate.setText(date1);
Toast.makeText(MainActivity.this, date, Toast.LENGTH_LONG).show();
}
}
我应该在这里更改
@Override
public void onDateSet (DatePickerDialog view,int Year, int Month, int Day){
String date1 = "Selected Date : " + Day + "-" + Month + "-" + Year;
Birthdate.setText(date1);
Toast.makeText(MainActivity.this, date1, Toast.LENGTH_LONG).show();
}
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String date1 = "Selected Date : " + Day + "-" + Month + "-" + Year;
Birthdate.setText(date1);
Toast.makeText(MainActivity.this, date1, Toast.LENGTH_LONG).show();
}
我尝试过这种方式,但是当我选择一个日期时,它却无法正常工作将在其他Datepicker的TextView中设置。
I tried this way but it is not working, when i select one date it will set in other Datepicker's TextView.
推荐答案
您需要制作2个单独的DatePicker对话框
You need to make 2 separate DatePicker Dialogs
设为2位听众
int from_year, from_month, from_day,to_year, to_month, to_day; //initialize them to current date in onStart()/onCreate()
DatePickerDialog.OnDateSetListener from_dateListener,to_dateListener;
然后实施
from_dateListener = new OnDateSetListener(){
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
...
}
}
};
to_dateListener = new OnDateSetListener(){
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
.....
}
};
这篇关于如何设置两个或多个DatePicker并将其显示在TextView上?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文