1

うーん、getDate()メソッドを使用してcalendarviewから抽出されたlongを渡そうとして、longに設定して渡そうとしています。1つのボタンで機能します。同じインターフェイスに複数のボタンがあり、最初のボタンでは機能します。正常に動作しますが、データが渡されていないため、1つのimを送信して発行します:S

 //THis one passes the long without any issues
Create = (Button) findViewById(R.id.CreateApp);
        Create.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {
                finish();

                 long date = Present.getDate();
                Intent Crea = new Intent(getApplicationContext(),CreateAppointment.class);
                Crea.putExtra("SelectedDate", date);
                startActivity(Crea);
            }

    });

//別のクラスで受信するときにコーディングする

Intent g = getIntent();
final long SDate = g.getLongExtra("SelectedDate", 0);


       //THE PROBLEM ONE :S
       Edit = (Button) findViewById(R.id.VEditApp);
       Edit.setOnClickListener(new OnClickListener() {

            public void onClick(View arViewg0) {
                finish();

                 long date = Present.getDate();
                Intent EDT = new Intent(getApplicationContext(),viewedit.class);
                EDT.putExtra("EDTDate", date);
                startActivity(EDT);
            }

    });

//他のクラスで受信するために使用するWHat

Intent EditRecieve = new Intent();
        long Cur_Date = EditRecieve.getLongExtra("EDTDate", 2);

誰かが私が値を取得しない理由とデフォルト値が渡され続ける理由を教えてもらえますか?

4

2 に答える 2

0

新しいアクティビティを呼び出した後、この方法でアクティビティを終了してください:::::

//THis one passes the long without any issues
Create = (Button) findViewById(R.id.CreateApp);
        Create.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) {


                 long date = Present.getDate();
                Intent Crea = new Intent(getApplicationContext(),CreateAppointment.class);
                Crea.putExtra("SelectedDate", date);
                startActivity(Crea);
                 finish();
            }

    });

/他クラス受信時のコード

Intent g = getIntent();
final long SDate = g.getLongExtra("SelectedDate", 0);


   //THE PROBLEM ONE :S
   Edit = (Button) findViewById(R.id.VEditApp);
   Edit.setOnClickListener(new OnClickListener() {

        public void onClick(View arViewg0) {



            Intent EDT = new Intent(getApplicationContext(),viewedit.class);
            EDT.putExtra("EDTDate", SDate );
            startActivity(EDT);
            finish();
        }

});

// 他のクラスで受信するために使用するもの

 Intent EditRecieve = new Intent();
    long Cur_Date = EditRecieve.getLongExtra("EDTDate", 2);
于 2012-05-27T07:14:15.360 に答える
0

うまくいかない例では、次のように書いています。

Intent EditRecieve = new Intent();
long Cur_Date = EditRecieve.getLongExtra("EDTDate", 2);

しかし、あなたが書いた仕事をした最初の例では:

Intent g = getIntent();
final long SDate = g.getLongExtra("SelectedDate", 0);

単純なタイプミスのように見えますが、「new Intent()」を「getIntent()」に置き換えれば問題ありません。

于 2012-05-27T07:31:56.747 に答える