我有一个这样的数组:
ArrayList<FuelData> arrValue = objrp.FuelReport(AccountID,
deviceID, datefrom, dateto, timezone, timefrom, timeto);
for (int i = 0; i < arrValue.size(); i++) {
String statusDescription = StatusCode.getDescription(AccountID,
arrValue.get(i).GetStatusCode(), privLabel, null);
String detail = "Mức nhiên liệu:"
+ Math.round(arrValue.get(i).GetFuelLevel())
+ " l\\nQuãng đường đi được:"
+ Math.round(arrValue.get(i).GetFuelLevel())// adding GetOdometer here
+ " km\\nThời gian: "
+ ConvertFromEpoch(arrValue.get(i).getTimeStamp())
+ "\\nĐịa điểm:"
+ GetUTF8FromNCRDecimalString(arrValue.get(i)
.getAddress()) + "\\nTrạng thái: "
+ GetUTF8FromNCRDecimalString(statusDescription);
strscr += "chartData.push({fuelLevel: "
+ arrValue.get(i).GetFuelLevel() + ",odometerKm: "
+ arrValue.get(i).GetOdometerKM() + ", detail:\""
+ detail + "\"});\n";
}
现在我想添加这个方法:
GetOdometer(String accountID, String deviceID, String timestamp)
到这一行:+ Math.round(arrValue.get(i).GetFuelLevel())// adding GetOdometer here
。这个方法不属于FuelData类,而是属于其他类。我可以这样做,如果能,我该怎么办?
答案 0 :(得分:1)
调用arrValue.get(i)
会在FuelData
arraylist的i
索引处抓取arrValue
类的对象。
现在,如果在getOdometer()
中定义方法FuelData
- 您应该可以使用以下语句访问它
arrValue.get(i).getOdometer("value1", "value2", "value3")
确保getOdometer
方法返回一个字符串或至少返回一些字符串。
另外,正如我注意到你的意思,这种方法没有在FuelData
中定义。那么你应该做得好,
//create Instance Of This Other Class before the for loop
//then call `GetOdometer(String accountID, String deviceID, String timestamp)`
//make sure GetOdometer is returning something
//follow camel casing for naming methods
例如,
///create instance
OtherClass c = new otherClass();
for (int i = 0; i < arrValue.size(); i++) {
.
.
String detail = "Mức nhiên liệu:"
+ Math.round(arrValue.get(i).GetFuelLevel())
+ c.GetOdometer("value1", "value2", "value3")
仅当GetFuelLevel
方法行为对于此OtherClass
的所有对象相同时,才尝试上述代码更改。否则移动
OtherClass c = new otherClass();
在for循环中。如果它不起作用,请在评论中告诉我。