2015-05-29 80 views
-3

1.消息字符串值在另一个活动 2,d和时间int值成功地收到未在另一项活动成功收到无法理解的错误在此代码

EditText Msgbody=(EditText)findViewById(R.id.messageText); 
    Msg=Msgbody.getText().toString(); 

    EditText Datebody = (EditText)findViewById(R.id.dateText); 
    d=Integer.parseInt(Datebody.getText().toString()); 

    EditText Timebody=(EditText)findViewById(R.id.timeText); 
    Time=Integer.parseInt(Timebody.getText().toString()); 

    Intent m=new Intent(this,Listview.class); 
    Bundle extra=new Bundle(); 
    extra.putString("Message",Msg); 
    extra.putInt("Date",d); 
    extra.putInt("Time",Time); 
    m.putExtras(extra); 
    startActivity(m); 

3.intent recieving代码

Bundle extra=getIntent().getExtras(); 
    String message1=extra.getString("Message"); 
    TextView msg=(TextView)findViewById(R.id.msgtext); 
    msg.setText(message1); 

    int D=-1; 
    D=extra.getInt("Date",0); 
    if(D>0){ 
     TextView dt=(TextView)findViewById(R.id.dateText); 
     if(dt!=null) 
      dt.setText(valueOf(D));} 

    int time1=extra.getInt("Time",0); 
    TextView ti=(TextView)findViewById(R.id.timeText); 
    if(ti!=null) 
     ti.setText(valueOf(time1)); 
+1

Off Topic - 您的变量名称非常混乱。在发送这些名称值对之前,请先查看该主题,是否检查它们是否为空? – Skynet

+0

不,我没有检查,但我通过编辑文本给整数值 –

+0

老兄,你应该检查你的值是否为空。 – Skynet

回答

0

在你接收的意图,你应该取像值:

if(extra.getExtras() != null) 
    date = extra.getExtras().getInt("date"); 

另外,请检查您的变量是否为空,然后再通过它们

+0

变量在通过之前不是空的。代码中是否有逻辑错误? –

+0

嘿,我真的很抱歉,我收到了错误的日期和时间ID,这就是为什么会出现这个问题,但感谢您的关注 –

+0

如果我的答案有帮助,可以点击旁边的勾号接受它。 – Skynet