2016-01-05 27 views
0

我在我的android應用程序活動中有兩個流程。檢查是否意圖爲空,將0插入到列

  1. 甲>> B >> C
  2. 甲>> C

活動C具有用於保存從A和B

值通保存按鈕

活動C

weather = getIntent().getExtras().getString("Weather"); //pass from A 
date2 = getIntent().getExtras().getString("date2"); //pass from A 
status = getIntent().getExtras().getString("Status"); // pass from B 
Sub = getIntent().getExtras().getString("sub"); // pass from B 

btnSubmit.setOnClickListener(new View.OnClickListener() { // sumbit button is clicked 
      public void onClick(View arg0) { 
      insertA(weather, date2); 
      insertB(status,Sub,idA); 
      insertC(food,idA); 
      } 
     }); 

注意到,IDA總是相同的表A ID

表A

ID Weather date 
1 sunny  1/6 
2 rainy  2/6 

表B

ID status Sub idA 
1  work  2  1 
2  work  1  2 

表C

ID food idA 
1  rice  1 
2 noodles 2 

如果數據是從第一個流程開始,則可以正確插入數據。現在的問題是,當它來自第二流時,沒有任何東西插入包括IdA的表B中。我怎樣才能讓它在表B列插入0,這是狀態和子,這樣可以插入idA?

謝謝。

表B

我想是這樣的

表B

ID status Sub idA 
1  0   0  1 // if it is from second flow 
2  work  1  2 

不是這個

表B(當第二次插入數據時)

ID status Sub idA 
1 work  1  2 
+0

你可以讓問題更清楚嗎? – Msp

+0

@Msp編輯..看看 – Tony

回答

1

在第二個流程中,status和Sub沒有通過。因此getExtras()對這些值返回null。這就是爲什麼它沒有被添加到數據庫(可能是因爲數據庫設計限制,如not null)。

所以,請嘗試更改這樣的代碼,

status = getIntent().getExtras().getString("Status", "0"); 
Sub = getIntent().getExtras().getString("sub", "0"); 

在這裏,第二個參數是默認值,這將在空的情況下通過。在第二個流程中,「0」將被傳遞null。

+0

謝謝,這就是我要找的:D – Tony

+0

完成........... – Tony

+1

太棒了。快樂編碼.. :) – Msp