1

嗯,我正在尝试使用 getDate() 方法传递从日历视图中提取的 long 并将其设置为 long 并传递它。它适用于一个按钮,我在同一个界面中有多个按钮,第一个按钮它工作正常,但由于数据未传递,因此发送一个即时消息并发出问题: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);
            }

    });

// 我用来在其他类中接收什么

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();
            }

    });

/code 在另一个类中接收时

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);

所以看起来像一个简单的错字,用“getIntent()”替换“new Intent()”,你应该很好。

于 2012-05-27T07:31:56.747 回答