Android 将datepicker年、日、月变量传递给另一个活动
我想将变量年、月和日传递给另一个活动 我该怎么做Android 将datepicker年、日、月变量传递给另一个活动,android,date,datepicker,calendar,Android,Date,Datepicker,Calendar,我想将变量年、月和日传递给另一个活动 我该怎么做 Button button; int year_x,month_x,day_x; static final int DIALOG_ID = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
Button button;
int year_x,month_x,day_x;
static final int DIALOG_ID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Calendar cal = Calendar.getInstance();
year_x = cal.get(Calendar.YEAR);
month_x = cal.get(Calendar.MONTH);
day_x = cal.get(Calendar.DAY_OF_MONTH);
showDialogOnButtonClick();
}
public void showDialogOnButtonClick(){
button = (Button)findViewById(R.id.button);
button.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DIALOG_ID);
}
}
);
}
@Override
protected Dialog onCreateDialog(int id){
if(id == DIALOG_ID)
return new DatePickerDialog(this,dpickerListner,year_x,month_x,day_x);
return null;
}
private DatePickerDialog.OnDateSetListener dpickerListner
= new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
year_x = year;
month_x = monthOfYear + 1;
day_x = dayOfMonth;
Toast.makeText(MainActivity.this,year_x +"/"+ month_x+"/"+day_x,Toast.LENGTH_LONG).show();
}
};
这就是我如何启动显示日历视图和日期选择器的活动
public void onButtonClick(View view){
if(view.getId()==R.id.button2)
{
Intent i = new Intent(MainActivity.this,CalendarView.class);
startActivity(i);
}
}
}
我没有足够的声誉来评论这就是为什么我在这里回答你的问题 因此,首先创建一个pojo类来保存要传递给下一个活动的数据 创建该pojo类的对象,并将其放入您在此处创建的意图对象中:
Intent i = new Intent(MainActivity.this,CalendarView.class);
startActivity(i);
i、 e您的代码现在应该如下所示:
Intent i = new Intent(MainActivity.this,CalendarView.class);
i.putExtra("data", yourPojoObj);
startActivity(i);
就这样。确保您的pojo类从java实现可序列化接口。活动1:
int yr, month, day, hour;
public void getCurrentDate() { //Consider getting date from Device
Calendar today = Calendar.getInstance();
yr = today.get(Calendar.YEAR);
month = today.get(Calendar.MONTH);
day = today.get(Calendar.DAY_OF_MONTH);
hour = today.get(Calendar.HOUR_OF_DAY);
}
Intent i=new Intent(Activity1.this,Activity2.class);
i.putExtra("year", yr);
i.putExtra("Month ", month);
startActvity(i);
Intent mIntent = getIntent();
int yrr= mIntent.getIntExtra("year", 0);
int monthh= mIntent.getIntExtra("Month", 0);
活动2:
int yr, month, day, hour;
public void getCurrentDate() { //Consider getting date from Device
Calendar today = Calendar.getInstance();
yr = today.get(Calendar.YEAR);
month = today.get(Calendar.MONTH);
day = today.get(Calendar.DAY_OF_MONTH);
hour = today.get(Calendar.HOUR_OF_DAY);
}
Intent i=new Intent(Activity1.this,Activity2.class);
i.putExtra("year", yr);
i.putExtra("Month ", month);
startActvity(i);
Intent mIntent = getIntent();
int yrr= mIntent.getIntExtra("year", 0);
int monthh= mIntent.getIntExtra("Month", 0);
欢迎来到StackOverflow!请把瓶盖锁关掉。谢谢。或者,
startActivityForResult
的可能副本用于从CalendarView传回数据,我相信这就是问题中所要求的。谢谢@Mrunalini Pawar的回复。我不知道什么是pojo类,我是编程新手,但我会搜索它,谢谢你的回复。@MJS-Plain Old Java Object=POJOGuyz抱歉,如果我不能立即回复,这可能很有趣,但我对android如此陌生,需要研究答案,希望你能理解guyz。