2015-10-07 49 views
0

我有三個活動,流程應該像Information >>workForce >>workDetailsTable。我通過使用intent來傳遞數據。但是,當我看到存儲在SQLite中的數據時,我只能看到WorkForce表中保存的值。我得到NULLInformation表。爲什麼會發生?它只能將數據傳遞給兩個活動?使用意向傳遞數據到三個活動

信息

button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
       Intent intent = new Intent(context, WorkForce.class); 
       a = spinner.getSelectedItem().toString(); 
       intent.putExtra("a",a); 
       startActivity(intent); 
      } 
     }); 

勞動力

button.setOnClickListener 
       (
         new View.OnClickListener() { 
         public void onClick(View v) { 
         Intent intent = new Intent(context, WorkDetailsTable.class); 
         subCon=txt1.getText().toString(); 
         startActivity(intent); 


          } 
         } 
       ); 

WorkDetailsTable

final String name=getIntent().getExtras().getString("a"); 
final String subContractors=getIntent().getExtras().getString("subCon"); 
Button btn1=(Button)findViewById(R.id.button2); 
     btn1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 

       ts.insertTimeSheet(name); 
       WF.insertWorkForce(subContractors); 
+1

你沒有通過'subCon'字符串通過intent to workdetails表。像在信息活動中那樣傳遞他們。你也需要從勞動力中獲得「a」的價值,並將意圖傳遞給工作細節。 –

+0

糾正我,如果我錯了,你想通過第二課的數據從第一課到第三課?如果是這樣,你需要獲得「意圖的附加」並重新發送到第三類,類似於你如何將數據傳遞給第二類。 –

+0

@RohanKandwal指出,謝謝:) – John

回答

0

你不及格通過intent to workdetails表字符串subCon。像在信息活動中那樣傳遞他們。你也需要從勞動力中獲得價值a,並且意圖將相同的價值傳遞給workdetails。

因此您的WorkForce代碼如下所示。

button.setOnClickListener (new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent intent = new Intent(context,WorkDetailsTable.class); 
      subCon=txt1.getText().toString(); 
      intent.putExtra("a",getIntent().getExtras().getString("a")); 
      intent.putExtra("subCon",subCon); 
      startActivity(intent); 
     } 
    }); 
1

看起來您似乎沒有在啓動WorkDetailsTable時使用Intent傳遞數據。 你可能希望它看起來是這樣的:

String name=getIntent().getExtras().getString("a"); 

button.setOnClickListener 
      (
        new View.OnClickListener() { 
        public void onClick(View v) { 
        Intent intent = new Intent(context, WorkDetailsTable.class); 
        subCon=txt1.getText().toString(); 
        intent.putExtra("a",name); 
        intent.putExtra("subCon",subCon); 
        startActivity(intent); 


         } 
        } 
      ); 

但是這可能不是你想要做到這一點的最好辦法。你有沒有考慮過使用SharedPreferences?這將允許您將信息存儲在一個活動中,並在任何其他活動中進行檢索。

有一個很好的example here

+0

感謝您的幫助:) – John

相關問題