我想将变量年,月和日传递给另一个Activity。
我该怎么做?
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();
}
};
这就是我启动显示CalendarView和DatePicker
的Activity的方法public void onButtonClick(View view){
if(view.getId()==R.id.button2)
{
Intent i = new Intent(MainActivity.this,CalendarView.class);
startActivity(i);
}
}
}
答案 0 :(得分:2)
我没有足够的声誉来评论这就是为什么我在这里回答你的问题。
首先创建一个pojo类来保存您想要传递给下一个活动的数据。
创建该pojo类的对象并将其放在您在此处创建的intent对象中:
Intent i = new Intent(MainActivity.this,CalendarView.class);
startActivity(i);
,您的代码现在应如下所示:
Intent i = new Intent(MainActivity.this,CalendarView.class);
i.putExtra("data", yourPojoObj);
startActivity(i);
就是这样。确保你的pojo类实现了java的Serializable接口。
答案 1 :(得分:0)
活动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);
活动2:
Intent mIntent = getIntent();
int yrr= mIntent.getIntExtra("year", 0);
int monthh= mIntent.getIntExtra("Month", 0);