1

3 つの文字列を新しいアクティビティに渡そうとしています。デバッグすることで、変数をエクストラに入れたときに変数がnullではないことがわかりましたが、変数を取得しようとするとnullです

calendarView.setOnDateChangeListener(new OnDateChangeListener() {

            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month,
                    int dayOfMonth) 
            {

                 //Toast.makeText(getApplicationContext(), ""+dayOfMonth, 0).show();

                Intent myIntent = new Intent(CalendarActivity.this, DateDayActivity.class);
                myIntent.putExtra("year", year);
                myIntent.putExtra("month", month);
                myIntent.putExtra("dayOfMonth", dayOfMonth);
                CalendarActivity.this.startActivity(myIntent);                          
            }
        });

これは、変数が null である呼び出されたアクティビティです。

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_date_day);

    Bundle extras=getIntent().getExtras();

    String year=extras.getString("year");
    String month=extras.getString("month");
    String dayOfMonth=extras.getString("dayOfMonth");

    String date=dayOfMonth+"/"+month+"/"+year;

    TextView tv=(TextView)findViewById(R.id.textView1);
    tv.setText(date);
    }
4

4 に答える 4

3

年、月などは文字列ではなくintなので、

int year = extras.getInt( "year" );

[編集]

また

String year = Integer.toString( extras.getInt( "year" ) );
于 2012-08-16T10:09:03.900 に答える
0

あなたがこのコードを書いている間

    Bundle extras=getIntent().getExtras();
     if(extras!=null)
    {
    String year=extras.getString("year");
    String month=extras.getString("month");
    String dayOfMonth=extras.getString("dayOfMonth");
    String date=dayOfMonth+"/"+month+"/"+year;

    TextView tv=(TextView)findViewById(R.id.textView1);
    tv.setText(date);

    }
于 2012-08-16T10:29:48.017 に答える
0
String year=String.valueOf(extras.getInt("year"));
String month=String.valueOf(extras.getInt("month"));
String dayOfMonth=String.valueOf(extras.getInt("dayOfMonth"));
于 2012-08-16T10:10:48.770 に答える
0

あなたは整数値を渡しています、

int year=extras.getInt("year");
        int month=extras.getInt("month");
        int dayOfMonth=extras.getInt("dayOfMonth");
于 2012-08-16T10:11:19.030 に答える