0

アプリに DatePicker があります。このコードを使用して値を取得しています。

    DatePicker d= (DatePicker) findViewById(R.id.datePicker1);
             int day = d.getDayOfMonth();
             int month = d.getMonth() + 1;
             int year = d.getYear();

             final String x=String.valueOf(day);
             final String y=String.valueOf(month);
             final String z=String.valueOf(year);

                 Button button1= (Button) (findViewById(R.id.button1));
                    button1.setOnClickListener(new View.OnClickListener() {
                         @Override
                        public void onClick(View v) {
Toast.makeText(SNCFTActivity.this, x+" " +y+ " "+z, Toast.LENGTH_LONG).show();

ただし、ボタンをタップすると、DatePicker で設定された値ではなく、Toast で取得/表示される現在の日付が常に表示されます。その問題を解決するのを手伝ってくれませんか? どうもありがとうございました。

4

2 に答える 2

1

これらをonClick関数内で使用します

    int day = d.getDayOfMonth();
     int month = d.getMonth() + 1;
     int year = d.getYear();

     final String x=String.valueOf(day);
     final String y=String.valueOf(month);
     final String z=String.valueOf(year);
于 2012-03-10T16:20:08.360 に答える
1

onClick 内のコードを試してください。

何かのようなもの

  Button button1= (Button) (findViewById(R.id.button1));
                button1.setOnClickListener(new View.OnClickListener() {
                     @Override
                    public void onClick(View v) {

int day = d.getDayOfMonth();
         int month = d.getMonth() + 1;
         int year = d.getYear();

         final String x=String.valueOf(day);
         final String y=String.valueOf(month);
         final String z=String.valueOf(year);
Toast.makeText(SNCFTActivity.this, x+" " +y+ " "+z, Toast.LENGTH_LONG).show();
}
于 2012-03-10T17:08:42.650 に答える