我正在开发一个使用服务的 Android 应用程序。我从该服务获取信息并将 json 数据保存到 arraylist 中,这是可以的,但我需要来自另一个类的这些数据。我正在尝试访问此数组列表,但每次尝试时它都会给出 null。这是我的代码:
public class AllVehicles extends android.app.Fragment {
public ArrayList<Vehicle> vehicleList= new ArrayList<Vehicle>();
public AllVehicles() {}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GetAllVehicles getAllVehicles=new GetAllVehicles();
getAllVehicles.execute("tr101", member.getAuthToken().toString(), String.valueOf(member.getMemberId()), String.valueOf(member.getFirmId()));
}
//onPostExecute of async task
protected void onPostExecute(Long result) {
try {
JSONObject jsonObj = new JSONObject(response_vehicles);
JSONArray jsonArray = jsonObj.getJSONArray("VehicleOnlineList");
for (int i = 0; i < jsonArray.length(); i++) {
vehicle = new Vehicle();
vehicle_report=new Vehicle();
JSONArray jsonArr = jsonArray.getJSONArray(i);
vehicle.setVehicleId(jsonArr.isNull(0) ? 0 : jsonArr.getInt(0));
vehicle.setDeviceId(jsonArr.isNull(1) ? 0 : jsonArr.getInt(1));
vehicle.setPlate(jsonArr.isNull(2) ? "" : jsonArr.getString(2));
vehicle.setVehicleName(jsonArr.isNull(3) ? "" : jsonArr.getString(3));
vehicleList.add(vehicle);
}
//The method for calling vehicleList:
public ArrayList<Vehicle> getVehicleReportList(){
return vehicleList;
}
我想调用此列表的类:
public class ReportActivity extends android.app.Fragment {
Vehicle vehicle;
AllVehicles allVehicles;
public ReportActivity() {
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_report_activity, container, false);
allVehicles=new AllVehicles();
ArrayList<Vehicle> vehicleArrayList=allVehicles.getVehicleReportList();
}
最佳答案
public static ArrayList<Vehicle> vehicleList= new ArrayList<Vehicle>();
并在您想要使用的地方使用AllVehicles.vehicleList
。
关于java - 如何从另一个类访问填充了 asynctask 的 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35433057/