2015-05-29 79 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