我想在serialazble
制作此代码但我知道为什么, 在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 :(得分:3)
Intent
类在android上没有setArguments
函数。
在here上查看。
答案 1 :(得分:0)
您不会将任何变量声明为bundle
。您的Bundle
被称为dataBundle
。
更改此行:
sum.setArguments(bundle);
为:
sum.putExtra("my data bundle", dataBundle);
答案 2 :(得分:0)
为什么你认为一个Intent(这里总结)有一个方法“setArguments”? 据我所知,setArgument是一种“片段”的方法。 如果要将bundle设置为Intent,请尝试“putExtras”。
答案 3 :(得分:0)