2013-09-02 1 views
0

Я пытаюсь передать выбранную дату из CalendarView с намерением от активности №1 до активности №2. Действие 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); 

Что я делаю неправильно?

ответ

3

Это должно быть

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

использовать также append

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

это сработало, но теперь отображается только год. – SoCo

+0

@SoCo использовать вместо setText. setText заменит на новое значение. также удалите комплект, если вы его не используете. вы можете добавить '\ n' для новой строки между – Raghunandan

+0

Это потому, что вы делаете' textView.setText (dyear); 'на последнем. Это' textView.setText (dday + ":" + dmonth + ":" dyear) ; ' – Ritaban

0

В деятельности нет 1 не имеют, как это.

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

И в activty нет 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);