数据通过意图传递

时间:2013-09-02 14:38:43

标签: java android android-intent calendarview

我正在尝试通过从活动no1到活动no2的意图从CalendarView传递选定日期。活动no2打开没有任何问题,但不显示所选日期。

以下是活动no1的代码:

         String syear = Integer.toString(year);
         String smonth = Integer.toString(month);
         String sday= Integer.toString(day);

         Intent myIntent = new Intent(CalendarActivity.this, CalendarDate.class);
         Bundle extras = new Bundle();
         myIntent.putExtra(syear, "currentyear");
         myIntent.putExtra(smonth,"currentmonth");
         myIntent.putExtra(sday,"currentday");
         myIntent.putExtras(extras);
         CalendarActivity.this.startActivity(myIntent);

这是活动no2的代码:

Bundle extras = getIntent().getExtras();

    String dyear = extras.getString("currentyear");
    String dmonth = extras.getString("currentmonth");
    String dday = extras.getString("currentday");


    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(dday);
    textView.setText(dmonth);
    textView.setText(dyear);

    setContentView(textView);

我做错了什么?

2 个答案:

答案 0 :(得分:3)

应该是

    myIntent.putExtra("currentyear",syear);
    myIntent.putExtra("currentmonth",smonth);
    myIntent.putExtra("currentday",sday);

也可以使用append

    textView.append(dday);
    textView.append(dmonth);
    textView.append(dyear);

答案 1 :(得分:0)

在活动中,没有1人喜欢这样。

     myIntent.putExtra("currentyear", syear);
     myIntent.putExtra("currentmonth",smonth);
     myIntent.putExtra("currentday",sday);
     myIntent.putExtras(extras);

在活动中没有2 在阅读附加内容时,始终要进行空检查。

喜欢这个。

Bundle extras = getIntent().getExtras();
if(extras!=null){
String dyear = extras.getString("currentyear");
String dmonth = extras.getString("currentmonth");
String dday = extras.getString("currentday");
}


TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(dday);
textView.setText(dmonth);
textView.setText(dyear);

setContentView(textView);