0

私は2つのクラスを持っています:

ドライバークラス:

public static final class Driver implements DriverColumns, BaseColumns, Parcelable {

        public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(PATH_DRIVERS).build();
        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/com.test.console.drivers";
        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.console.drivers";

        private int driver_id, driver_number;
        private String driver_name;

        public Driver() {
        }

        public Driver(int driverID, int driverNumber, String driverName) {
            this.setDriverID(driverID);
            this.setDriverNumber(driverNumber);
            this.setDriverName(driverName);
        }

        public static Uri buildDriverUri(String driverID) {
            return CONTENT_URI.buildUpon().appendPath(driverID).build();
        }

        public int getDriverID() {
            return driver_id;
        }

        public void setDriverID(int driver_id) {
            this.driver_id = driver_id;
        }

        public int getDriverNumber() {
            return driver_number;
        }

        public void setDriverNumber(int driver_number) {
            this.driver_number = driver_number;
        }

        public String getDriverName() {
            return driver_name;
        }

        public void setDriverName(String driver_name) {
            this.driver_name = driver_name;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(driver_id);
            dest.writeInt(driver_number);
            dest.writeString(driver_name);
        }

        private Driver(Parcel in) {
            this.driver_id = in.readInt();
            this.driver_number = in.readInt();
            this.driver_name = in.readString();
        }

        public static final Parcelable.Creator<Driver> CREATOR = new Parcelable.Creator<Driver>() {

            @Override
            public Driver createFromParcel(Parcel source) {
                return new Driver(source);
            }

            @Override
            public Driver[] newArray(int size) {
                return new Driver[size];
            }
        };
    }

および車両クラス:

public static final class Vehicle implements VehicleColumns, BaseColumns, Parcelable {

        public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon().appendPath(PATH_VEHICLES).build();
        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/com.test.console.vehicles";
        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.console.vehicles";

        private int vehicle_id, vehicle_number;
        private String vehicle_vin;

        public Vehicle() {
        }

        public Vehicle(int vehicleID, int vehicleNumber, String vehicleVin) {
            setVehicleID(vehicleID);
            setVehicleNumber(vehicleNumber);
            setVehicleVin(vehicleVin);
        }

        public int getVehicleID() {
            return vehicle_id;
        }

        public void setVehicleID(int mVehicleID) {
            this.vehicle_id = mVehicleID;
        }

        public int getVehicleNumber() {
            return vehicle_number;
        }

        public void setVehicleNumber(int mVehicleNumber) {
            this.vehicle_number = mVehicleNumber;
        }

        public String getVehicleVin() {
            return vehicle_vin;
        }

        public void setVehicleVin(String mVehicleVin) {
            this.vehicle_vin = mVehicleVin;
        }

        public static Uri buildVehicleUri(String vehicleID) {
            return CONTENT_URI.buildUpon().appendPath(vehicleID).build();
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(vehicle_id);
            dest.writeInt(vehicle_number);
            dest.writeString(vehicle_vin);
        }

        private Vehicle(Parcel in) {
            this.vehicle_id = in.readInt();
            this.vehicle_number = in.readInt();
            this.vehicle_vin = in.readString();
        }

        public static final Parcelable.Creator<Vehicle> CREATOR = new Parcelable.Creator<Vehicle>() {

            @Override
            public Vehicle createFromParcel(Parcel source) {
                return new Vehicle(source);
            }

            @Override
            public Vehicle[] newArray(int size) {
                return new Vehicle[size];
            }
        };
    }

ArrayList で使用できるように、それらをリンクしようとしています。

基本的に次のリストがあります。

ドライバー + 車両

スーパークラスが必要かどうかわかりませんか? 私はこのようなことはできないと読んだので:

ArrayList<Driver,Vehicle> drivers_vehicles = new ArrayList<Driver,Vehicle>

Sort the listDriver クラスの driver_number で行う必要があります。

どうすればこれを達成できますか?

ありがとう..

4

1 に答える 1