传递活动之间的自定义对象

传递活动之间的自定义对象

本文介绍了传递活动之间的自定义对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着在这里发现了许多不同的解决方案和许多其他网站 - !但我就是不能使它工作

我有一个活动是在其他活动中使用的对象公寓。该活动是从类MyMapOverlayItem开始和应该开始在其中公寓对象应使用的ApartmentInfoActivity

MyMapOverlayItem.java:

 包com.android.madsoft.spotter;

进口的java.util.ArrayList;

进口android.content.Context;
进口android.content.Intent;
进口android.graphics.drawable.Drawable;
进口android.os.Bundle;

进口com.google.android.maps.ItemizedOverlay;
进口com.google.android.maps.OverlayItem;

公共类MyMapOverlayIcon扩展ItemizedOverlay< OverlayItem> {
    语境mContext;
    ArrayList的<公寓> myList中;
    私人的ArrayList< OverlayItem> mOverlays =新的ArrayList< OverlayItem>();
    公共MyMapOverlayIcon(可绘制defaultMarker){
        超(defaultMarker);

    }

    公共MyMapOverlayIcon(可绘制defaultMarker,上下文的背景下,ArrayList的<公寓> myList中){
        超(boundCenterBottom(defaultMarker));
          mContext =背景;
          this.myList = myList中;

        }

    公共无效addOverlay(OverlayItem叠加){
        mOverlays.add(叠加);
        填充();
    }

    @覆盖
    受保护的布尔中的onTap(INT指数){
        公寓AP = myList.get(指数);
        ApartmentParcel AP1 =新ApartmentParcel(AP);
        意图I =新的意图(mContext,ApartmentInfoActivity.class);
        叠B =新包();
        b.putParcelable(应用程序,AP1);
        i.putExtras(B);
// i.putExtra(应用程序,AP1);
// b.putSerializable(公寓,AP);

        // 该怎么办!?

        mContext.startActivity(ⅰ);

      返回true;
    }

    @覆盖
    保护OverlayItem createItem中(int i)以{
      返回mOverlays.get(ⅰ);
    }

    @覆盖
    公众诠释大小(){
      返回mOverlays.size();
    }

}
 

Apartment.java:

 包com.android.madsoft.spotter;

进口java.io.IOException异常;
进口的java.io.InputStream;
进口java.net.HttpURLConnection中;
进口java.net.MalformedURLException;
进口的java.net.URL;
进口的java.util.ArrayList;

进口android.graphics.Bitmap;
进口android.graphics.BitmapFactory;


公共类公寓{


    私有静态最后长的serialVersionUID = 1L;
    INT纬度,经度;
    串号,
    拉链code,
    尺寸,
    客房,
    rentprice,
    存款,
    takeoverdate,
    rentperiod,
    furniturized,
    usagecost,
    addeddate,
    描述,
    prepaid;
    ArrayList的<字符串>图像列表,phonenumbers;
    INT imagecount = 1;
    ArrayList的<位图> bigBitmapList;
    ArrayList的<位图> smallBitmapList;

    市民公寓(字符串ID,INT纬度,经度INT,
                    字符串拉链code,字符串大小,字符串的房间,
                    字符串rentprice,存款字符串,字符串prepaid,字符串takeoverdate,
                    字符串rentperiod,字符串furniturized,字符串usagecost,
                    字符串addeddate,字符串描述,ArrayList的<字符串>图像列表,ArrayList的<字符串>电话号码){
        bigBitmapList =新的ArrayList<位图>();
        smallBitmapList =新的ArrayList<位图>();
        this.addeddate = addeddate;
        this.deposit =存款;
        this.description =描述;
        this.furniturized = furniturized;
        this.id = ID;
        this.imageList =图像列表;
        this.latitude =纬度;
        this.longitude =经度;
        this.phonenumbers = phonenumbers;
        这prepaid = prepaid。
        this.rentperiod = rentperiod;
        this.rentprice = rentprice;
        this.rooms =室;
        this.size =大小;
        this.takeoverdate = takeoverdate;
        this.usagecost = usagecost;
        this.zip code =拉链code;

        对于(字符串S:图像列表){

            URL myFileUrl = NULL;
            尝试 {
                 myFileUrl =新的URL(S);
            }赶上(MalformedURLException异常E){
                 e.printStackTrace();
            }
            尝试 {
                 HttpURLConnection的康恩=(HttpURLConnection类)myFileUrl.openConnection();
                 conn.setDoInput(真正的);
                 conn.connect();
                 InputStream的是= conn.getInputStream();
                 位图图像= BitmapFactory.de codeStream(是); //保存当前的图标
                 bigBitmapList.add(图像);
                 //图标现在将调整为125px * 100px的
                    位图调整;
                    INT scalerate =(INT)image.getHeight()/ 60;
                    INT newHeight =(INT)image.getHeight()/ scalerate;
                    INT newWidth =(INT)image.getWidth()/ scalerate;
                    大小= Bitmap.createScaledBitmap(图像,newWidth,newHeight,假);
                    smallBitmapList.add(调整);
            }
            赶上(IOException异常E){
                e.printStackTrace();
            }
            }
        }
 

ApartmentParcel.java:

 包com.android.madsoft.spotter;

进口java.io.IOException异常;
进口的java.io.InputStream;
进口java.net.HttpURLConnection中;
进口java.net.MalformedURLException;
进口的java.net.URL;
进口的java.util.ArrayList;

进口android.graphics.Bitmap;
进口android.graphics.BitmapFactory;
进口android.os.Parcel;
进口android.os.Parcelable;

公共类ApartmentParcel实现Parcelable {

    私有静态最后长的serialVersionUID = 1L;
    INT纬度,经度;
    串号,
    拉链code,
    尺寸,
    客房,
    rentprice,
    存款,
    takeoverdate,
    rentperiod,
    furniturized,
    usagecost,
    addeddate,
    描述,
    prepaid;
    ArrayList的<字符串>图像列表,phonenumbers;
    INT imagecount = 1;
    ArrayList的<位图> bigBitmapList;
    ArrayList的<位图> smallBitmapList;

    公共ApartmentParcel(字符串ID,INT纬度,经度INT,
                    字符串拉链code,字符串大小,字符串的房间,
                    字符串rentprice,存款字符串,字符串prepaid,字符串takeoverdate,
                    字符串rentperiod,字符串furniturized,字符串usagecost,
                    字符串addeddate,字符串描述,ArrayList的<字符串>图像列表,ArrayList的<字符串>电话号码){
        bigBitmapList =新的ArrayList<位图>();
        smallBitmapList =新的ArrayList<位图>();
        this.addeddate = addeddate;
        this.deposit =存款;
        this.description =描述;
        this.furniturized = furniturized;
        this.id = ID;
        this.imageList =图像列表;
        this.latitude =纬度;
        this.longitude =经度;
        this.phonenumbers = phonenumbers;
        这prepaid = prepaid。
        this.rentperiod = rentperiod;
        this.rentprice = rentprice;
        this.rooms =室;
        this.size =大小;
        this.takeoverdate = takeoverdate;
        this.usagecost = usagecost;
        this.zip code =拉链code;

        对于(字符串S:图像列表){

            URL myFileUrl = NULL;
            尝试 {
                 myFileUrl =新的URL(S);
            }赶上(MalformedURLException异常E){
                 e.printStackTrace();
            }
            尝试 {
                 HttpURLConnection的康恩=(HttpURLConnection类)myFileUrl.openConnection();
                 conn.setDoInput(真正的);
                 conn.connect();
                 InputStream的是= conn.getInputStream();
                 位图图像= BitmapFactory.de codeStream(是); //保存当前的图标
                 bigBitmapList.add(图像);
                 //图标现在将调整为125px * 100px的
                    位图调整;
                    INT scalerate =(INT)image.getHeight()/ 60;
                    INT newHeight =(INT)image.getHeight()/ scalerate;
                    INT newWidth =(INT)image.getWidth()/ scalerate;
                    大小= Bitmap.createScaledBitmap(图像,newWidth,newHeight,假);
                    smallBitmapList.add(调整);
            }
            赶上(IOException异常E){
                e.printStackTrace();
            }
            }
        }

    公共ApartmentParcel(公寓AP){
        bigBitmapList =新的ArrayList<位图>();
        smallBitmapList =新的ArrayList<位图>();
        this.addeddate = ap.getAddeddate();
        this.deposit = ap.getDeposit();
        this.description = ap.getDescription();
        this.furniturized = ap.getFurniturized();
        this.id = ap.getId();
        this.imageList = ap.getImageList();
        this.latitude = ap.getLatitude();
        this.longitude = ap.getLongitude();
        this.phonenumbers = ap.getPhonenumbers();
        这prepaid = ap.get prepaid();
        this.rentperiod = ap.getRentperiod();
        this.rentprice = ap.getRentprice();
        this.rooms = ap.getRooms();
        this.size = ap.getSize();
        this.takeoverdate = ap.getTakeoverdate();
        this.usagecost = ap.getUsagecost();
        this.zip code = ap.getZip code();
        runMyParcel();
    }

    私人无效runMyParcel(){
        对于(字符串S:图像列表){

            URL myFileUrl = NULL;
            尝试 {
                 myFileUrl =新的URL(S);
            }赶上(MalformedURLException异常E){
                 e.printStackTrace();
            }
            尝试 {
                 HttpURLConnection的康恩=(HttpURLConnection类)myFileUrl.openConnection();
                 conn.setDoInput(真正的);
                 conn.connect();
                 InputStream的是= conn.getInputStream();
                 位图图像= BitmapFactory.de codeStream(是); //保存当前的图标
                 bigBitmapList.add(图像);
                 //图标现在将调整为125px * 100px的
                    位图调整;
                    INT scalerate =(INT)image.getHeight()/ 60;
                    INT newHeight =(INT)image.getHeight()/ scalerate;
                    INT newWidth =(INT)image.getWidth()/ scalerate;
                    大小= Bitmap.createScaledBitmap(图像,newWidth,newHeight,假);
                    smallBitmapList.add(调整);
            }
            赶上(IOException异常E){
                e.printStackTrace();
            }
            }
    }

    公共无效setSmallBitmapList(ArrayList中<位图> smallBitmapList){
        this.smallBitmapList = smallBitmapList;
    }


    @覆盖
    公众诠释describeContents(){
        // TODO自动生成方法存根
        返回0;
    }


    @覆盖
    公共无效writeToParcel(包裹出来,诠释标志){
        out.writeString(ID);
        out.writeString(ZIP code);
        out.writeString(大小);
        out.writeString(间);
        out.writeString(rentprice);
        out.writeString(存款);
        out.writeString(takeoverdate);
        out.writeString(rentperiod);
        out.writeString(furniturized);
        out.writeString(usagecost);
        out.writeString(addeddate);
        out.writeString(介绍);
        out.writeString(prepaid);
        out.writeStringList(phonenumbers);
        out.writeList(bigBitmapList);
        out.writeList(smallBitmapList);

    }

    私人ApartmentParcel(包裹中){
        的id = in.readString();
        拉链code = in.readString();
        大小= in.readString();
        客房= in.readString();
        rentprice = in.readString();
        存款= in.readString();
        takeoverdate = in.readString();
        rentperiod = in.readString();
        furniturized = in.readString();
        usagecost = in.readString();
        addeddate = in.readString();
        说明= in.readString();
        prepaid = in.readString();
        in.readStringList(phonenumbers);
        in.readTypedList(bigBitmapList,Bitmap.CREATOR);
        in.readTypedList(smallBitmapList,Bitmap.CREATOR);
    }

    公共静态最终的创造者和LT; ApartmentParcel> CREATOR =新的创造者和LT; ApartmentParcel>(){
        公共ApartmentParcel createFromParcel(包裹中){
            返回新ApartmentParcel(中);
        }

        公共ApartmentParcel [] newArray(INT尺寸){
            返回新ApartmentParcel【尺寸】;
        }
    };
}
 

ApartmentInfoActivity.java:

 包com.android.madsoft.spotter;

    进口android.app.Activity;
    进口android.os.Bundle;
    进口android.widget.TextView;

    公共类ApartmentInfoActivity延伸活动{


        @覆盖
            保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.infoview);
//公寓AP =(公寓)getIntent()getSerializableExtra(公寓)。
        公寓AP =(公寓)getIntent()getParcelableExtra(APP)。
        TextView的zipView =(TextView中)findViewById(R.id.txtInfoZip);
        zipView.setText(ap.getZip code());
    }

    }
 

解决方案

请您Aparment类实现序列化

 公共类公寓实现Serializable {
 

然后在 MyMapOverlayIcon

 叠B =新包();
// 该怎么办!?
b.putSerializable(公寓,AP);
 

然后在 ApartmentInfoActivity

 公寓AP =(公寓)getIntent()getSerializableExtra(公寓)。
 

I've tried many different solutions found here and many other sites - but i just can't make it work!

I have an object "Apartment" in one activity which is to be used in another activity.The activity is started from the class MyMapOverlayItem and should start the ApartmentInfoActivity in which the Apartment object should be used.

MyMapOverlayItem.java :

package com.android.madsoft.spotter;

import java.util.ArrayList;

import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

public class MyMapOverlayIcon extends ItemizedOverlay<OverlayItem> {
    Context mContext;
    ArrayList<Apartment> myList;
    private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
    public MyMapOverlayIcon(Drawable defaultMarker) {
        super(defaultMarker);

    }

    public MyMapOverlayIcon(Drawable defaultMarker, Context context, ArrayList<Apartment> myList) {
        super(boundCenterBottom(defaultMarker));
          mContext = context;
          this.myList = myList;

        }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }

    @Override
    protected boolean onTap(int index) {
        Apartment ap = myList.get(index);
        ApartmentParcel ap1 = new ApartmentParcel(ap);
        Intent i = new Intent(mContext, ApartmentInfoActivity.class);
        Bundle b = new Bundle();
        b.putParcelable("app", ap1);
        i.putExtras(b);
//      i.putExtra("app",ap1);
//      b.putSerializable("apartment", ap);

        // WHAT TO DO!?

        mContext.startActivity(i);

      return true;
    }

    @Override
    protected OverlayItem createItem(int i) {
      return mOverlays.get(i);
    }

    @Override
    public int size() {
      return mOverlays.size();
    }

}

Apartment.java :

package com.android.madsoft.spotter;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;


public class Apartment {


    private static final long serialVersionUID = 1L;
    int latitude, longitude;
    String id,
    zipcode,
    size,
    rooms,
    rentprice,
    deposit,
    takeoverdate,
    rentperiod,
    furniturized,
    usagecost,
    addeddate,
    description,
    prepaid;
    ArrayList<String> imageList, phonenumbers;
    int imagecount = 1;
    ArrayList<Bitmap> bigBitmapList;
    ArrayList<Bitmap> smallBitmapList;

    public Apartment(String id, int latitude, int longitude,
                    String zipcode, String size, String rooms,
                    String rentprice, String deposit, String prepaid, String takeoverdate,
                    String rentperiod, String furniturized, String usagecost,
                    String addeddate, String description, ArrayList<String> imageList, ArrayList<String> phonenumbers){
        bigBitmapList = new ArrayList<Bitmap>();
        smallBitmapList = new ArrayList<Bitmap>();
        this.addeddate = addeddate;
        this.deposit = deposit;
        this.description = description;
        this.furniturized = furniturized;
        this.id = id;
        this.imageList = imageList;
        this.latitude = latitude;
        this.longitude = longitude;
        this.phonenumbers = phonenumbers;
        this.prepaid = prepaid;
        this.rentperiod = rentperiod;
        this.rentprice = rentprice;
        this.rooms = rooms;
        this.size = size;
        this.takeoverdate = takeoverdate;
        this.usagecost = usagecost;
        this.zipcode = zipcode;

        for (String s :imageList){

            URL myFileUrl = null;
            try {
                 myFileUrl= new URL(s);
            } catch (MalformedURLException e) {
                 e.printStackTrace();
            }
            try {
                 HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection();
                 conn.setDoInput(true);
                 conn.connect();
                 InputStream is = conn.getInputStream();
                 Bitmap image = BitmapFactory.decodeStream(is); //Saves the current icon
                 bigBitmapList.add(image);
                 //Icon will now be resized to 125px*100px
                    Bitmap resized;
                    int scalerate = (int)image.getHeight()/60;
                    int newHeight = (int)image.getHeight()/scalerate;
                    int newWidth = (int)image.getWidth()/scalerate;
                    resized = Bitmap.createScaledBitmap(image, newWidth, newHeight, false);
                    smallBitmapList.add(resized);
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            }
        }

ApartmentParcel.java :

package com.android.madsoft.spotter;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Parcel;
import android.os.Parcelable;

public class ApartmentParcel implements Parcelable {

    private static final long serialVersionUID = 1L;
    int latitude, longitude;
    String id,
    zipcode,
    size,
    rooms,
    rentprice,
    deposit,
    takeoverdate,
    rentperiod,
    furniturized,
    usagecost,
    addeddate,
    description,
    prepaid;
    ArrayList<String> imageList, phonenumbers;
    int imagecount = 1;
    ArrayList<Bitmap> bigBitmapList;
    ArrayList<Bitmap> smallBitmapList;

    public ApartmentParcel(String id, int latitude, int longitude,
                    String zipcode, String size, String rooms,
                    String rentprice, String deposit, String prepaid, String takeoverdate,
                    String rentperiod, String furniturized, String usagecost,
                    String addeddate, String description, ArrayList<String> imageList, ArrayList<String> phonenumbers){
        bigBitmapList = new ArrayList<Bitmap>();
        smallBitmapList = new ArrayList<Bitmap>();
        this.addeddate = addeddate;
        this.deposit = deposit;
        this.description = description;
        this.furniturized = furniturized;
        this.id = id;
        this.imageList = imageList;
        this.latitude = latitude;
        this.longitude = longitude;
        this.phonenumbers = phonenumbers;
        this.prepaid = prepaid;
        this.rentperiod = rentperiod;
        this.rentprice = rentprice;
        this.rooms = rooms;
        this.size = size;
        this.takeoverdate = takeoverdate;
        this.usagecost = usagecost;
        this.zipcode = zipcode;

        for (String s :imageList){

            URL myFileUrl = null;
            try {
                 myFileUrl= new URL(s);
            } catch (MalformedURLException e) {
                 e.printStackTrace();
            }
            try {
                 HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection();
                 conn.setDoInput(true);
                 conn.connect();
                 InputStream is = conn.getInputStream();
                 Bitmap image = BitmapFactory.decodeStream(is); //Saves the current icon
                 bigBitmapList.add(image);
                 //Icon will now be resized to 125px*100px
                    Bitmap resized;
                    int scalerate = (int)image.getHeight()/60;
                    int newHeight = (int)image.getHeight()/scalerate;
                    int newWidth = (int)image.getWidth()/scalerate;
                    resized = Bitmap.createScaledBitmap(image, newWidth, newHeight, false);
                    smallBitmapList.add(resized);
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            }
        }

    public ApartmentParcel(Apartment ap){
        bigBitmapList = new ArrayList<Bitmap>();
        smallBitmapList = new ArrayList<Bitmap>();
        this.addeddate = ap.getAddeddate();
        this.deposit = ap.getDeposit();
        this.description = ap.getDescription();
        this.furniturized = ap.getFurniturized();
        this.id = ap.getId();
        this.imageList = ap.getImageList();
        this.latitude = ap.getLatitude();
        this.longitude = ap.getLongitude();
        this.phonenumbers = ap.getPhonenumbers();
        this.prepaid = ap.getPrepaid();
        this.rentperiod = ap.getRentperiod();
        this.rentprice = ap.getRentprice();
        this.rooms = ap.getRooms();
        this.size = ap.getSize();
        this.takeoverdate = ap.getTakeoverdate();
        this.usagecost = ap.getUsagecost();
        this.zipcode = ap.getZipcode();
        runMyParcel();
    }

    private void runMyParcel(){
        for (String s :imageList){

            URL myFileUrl = null;
            try {
                 myFileUrl= new URL(s);
            } catch (MalformedURLException e) {
                 e.printStackTrace();
            }
            try {
                 HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection();
                 conn.setDoInput(true);
                 conn.connect();
                 InputStream is = conn.getInputStream();
                 Bitmap image = BitmapFactory.decodeStream(is); //Saves the current icon
                 bigBitmapList.add(image);
                 //Icon will now be resized to 125px*100px
                    Bitmap resized;
                    int scalerate = (int)image.getHeight()/60;
                    int newHeight = (int)image.getHeight()/scalerate;
                    int newWidth = (int)image.getWidth()/scalerate;
                    resized = Bitmap.createScaledBitmap(image, newWidth, newHeight, false);
                    smallBitmapList.add(resized);
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            }
    }

    public void setSmallBitmapList(ArrayList<Bitmap> smallBitmapList) {
        this.smallBitmapList = smallBitmapList;
    }


    @Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }


    @Override
    public void writeToParcel(Parcel out, int flags) {
        out.writeString(id);
        out.writeString(zipcode);
        out.writeString(size);
        out.writeString(rooms);
        out.writeString(rentprice);
        out.writeString(deposit);
        out.writeString(takeoverdate);
        out.writeString(rentperiod);
        out.writeString(furniturized);
        out.writeString(usagecost);
        out.writeString(addeddate);
        out.writeString(description);
        out.writeString(prepaid);
        out.writeStringList(phonenumbers);
        out.writeList(bigBitmapList);
        out.writeList(smallBitmapList);

    }

    private ApartmentParcel(Parcel in) {
        id = in.readString();
        zipcode = in.readString();
        size = in.readString();
        rooms = in.readString();
        rentprice = in.readString();
        deposit = in.readString();
        takeoverdate = in.readString();
        rentperiod = in.readString();
        furniturized = in.readString();
        usagecost = in.readString();
        addeddate = in.readString();
        description = in.readString();
        prepaid = in.readString();
        in.readStringList(phonenumbers);
        in.readTypedList(bigBitmapList, Bitmap.CREATOR);
        in.readTypedList(smallBitmapList, Bitmap.CREATOR);
    }

    public static final Creator<ApartmentParcel> CREATOR = new Creator<ApartmentParcel>() {
        public ApartmentParcel createFromParcel(Parcel in) {
            return new ApartmentParcel(in);
        }

        public ApartmentParcel[] newArray(int size) {
            return new ApartmentParcel[size];
        }
    };
}

ApartmentInfoActivity.java :

    package com.android.madsoft.spotter;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    public class ApartmentInfoActivity extends Activity {


        @Override
            protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.infoview);
//      Apartment ap = (Apartment)getIntent().getSerializableExtra("apartment");
        Apartment ap = (Apartment)getIntent().getParcelableExtra("app");
        TextView zipView = (TextView)findViewById(R.id.txtInfoZip);
        zipView.setText(ap.getZipcode());
    }

    }
解决方案

Make your Aparment class implement Serializable:

public class Apartment implements Serializable{

Then on MyMapOverlayIcon:

Bundle b = new Bundle();
// WHAT TO DO!?
b.putSerializable("apartment", ap);

Then on ApartmentInfoActivity:

Apartment ap = (Apartment) getIntent().getSerializableExtra("apartment");

这篇关于传递活动之间的自定义对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 07:52