2014-01-28 52 views
0

與錯誤serialazble我想就在serialazble如何設置setArgument

這個代碼,但我DK爲什麼, 在setArguments,有一個紅色下劃線,因此不能運行代碼。

有人可以指導我嗎?

 public void summaryClick (View v) 
{ 
    Intent sum = new Intent(this, summary.class); 
    fuelLogPojo clickedObject = pojoArrayList.get(0); 
    Bundle dataBundle = new Bundle(); 
    dataBundle.putString("clickedID", clickedObject.getid()); 
    dataBundle.putString("clickedDate", clickedObject.getdate()); 
    dataBundle.putString("clickedPrice", clickedObject.getprice()); 
    dataBundle.putString("clickedPump", clickedObject.getpump()); 
    dataBundle.putString("clickedCost", clickedObject.getcost()); 
    dataBundle.putString("clickedOdometer", clickedObject.getodometer()); 
    dataBundle.putString("clickedpreOdometer", 
      clickedObject.getpreodometer()); 
    dataBundle.putString("clickedFCon", clickedObject.getfcon()); 
    dataBundle.putSerializable("pojoArrayList", pojoArrayList); 

    Log.i("FuelLog", "dataBundle " + dataBundle); 
    // Attach the bundled data to the intent 
// sum.putExtras(dataBundle); 
    sum.setArguments(dataBundle); 
    // Start the Activity 
    startActivity(sum); 


} 

取參考從這裏 passing a list of data from one intent to another using serializable

+0

你可以發佈你收到的錯誤嗎? – Niko

+0

嚴重嗎?只需更改sum.setArguments(bundle); sum.setArguments(dataBundle); :) – alex

+0

@Niko有一個超過setArguements這個詞的紅線。我徘徊在它,並被告知添加演員總和。我按照說明,但仍然紅線 – Chloe

回答

0

你不聲明任何變量作爲bundle。您的Bundle被稱爲dataBundle

改變這一行:

sum.setArguments(bundle); 

到:

sum.putExtra("my data bundle", dataBundle); 
+0

紅線我已經改變,但有一個紅線超過setARguments – Chloe

+0

請張貼您的錯誤。 – owe

+0

發佈您的錯誤輸出,請 – alex

3

Intent類有Android上沒有setArguments功能。

請在here上勾選。

+0

對不起,我是android新手,我該如何解決它? – Chloe

+0

@Chloe測試'putExtras',也許這就是你想要的。 – agastalver

0

爲什麼你認爲一個意圖(總和在這裏)有一個方法「setArguments」? 據我所知,setArgument是一個「片段」的方法。 如果您想將捆綁包設置爲意圖,請嘗試「putExtras」。

0

這種替換紅線:

sum.putExtras(dataBundle); 

意向一點兒也不有一個名爲setArguments(Bundle bundle)功能。看看文檔here

有關完整的示例,請看this的帖子。