我有一个错误:“;Can';t将java.lang.String类型的对象转换为com.flashpub.flash.imageSection类型;我不知道';我不知道为什么

我有一个错误:“;Can';t将java.lang.String类型的对象转换为com.flashpub.flash.imageSection类型;我不知道';我不知道为什么,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我已经创建了一个listView,由于我正在打开其中一个项目,应用程序需要获取应用程序的所有图像,但它不工作,我无法理解为什么会显示此错误。 谢谢你的帮助 这是我在Firebase上的模型: imageSection.java package com.flashpub.flash; import java.util.List; public class imageSection { String imageUrl; public imageSection(){

我已经创建了一个listView,由于我正在打开其中一个项目,应用程序需要获取应用程序的所有图像,但它不工作,我无法理解为什么会显示此错误。 谢谢你的帮助

这是我在Firebase上的模型:

imageSection.java

package com.flashpub.flash;

import java.util.List;

public class imageSection {

    String imageUrl;

    public imageSection(){

    }

    public imageSection(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() {
        return imageUrl;
    }
}
package com.flashpub.flash;

import java.util.List;

public class chooseSection {

    String sectionn;

    public chooseSection() {

    }

    public chooseSection(String sectionn) {
        this.sectionn = sectionn;
    }

    public String getSectionn() {
        return sectionn;
    }
}
public class ChooseSectionActivity extends AppCompatActivity {

ListView listView;
FirebaseListAdapter<chooseSection> adapter;
chooseSection sectionChosse;

//private HashMap<Integer, String> allItemsList = new HashMap<Integer, String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose_section);

    listView = findViewById(R.id.listView);

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference();
    myRef.keepSynced(true);

    Query query = FirebaseDatabase.getInstance().getReference().child("Sections");
    Log.i("salut", query.toString());
    FirebaseListOptions<chooseSection> options = new FirebaseListOptions.Builder<chooseSection>()
            .setLayout(R.layout.section_list)
            .setQuery(query,chooseSection.class)
            .build();
    adapter =  new FirebaseListAdapter<chooseSection>(options) {
        @Override
        protected void populateView(@NonNull View view, @NonNull chooseSection model, int position) {

            TextView sectionView = (TextView) view.findViewById(R.id.sectionView);
            sectionView.setText(model.getSectionn());


            chooseSection lu = sectionChosse;
            //String LatLng = lu.getLocationUserLatitude() + "," + lu.getLocationUserLongitude();
            //allItemsList.put(position, model.getSectionn());
        }

    };
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //String item = allItemsList.get(position);
            Intent intent = new Intent(ChooseSectionActivity.this, PubsSectionActivity.class);
            //intent.putExtra("key", item);
            startActivity(intent);
        }
    });
    listView.setAdapter(adapter);
}

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
public class PubsSectionActivity extends AppCompatActivity {
ViewFlipper viewFlipp;
private DatabaseReference databaseReference;
private List<imageSection> slideLists;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pubs_section);

    viewFlipp = findViewById(R.id.viewFlipper);

    databaseReference = FirebaseDatabase.getInstance().getReference();
    slideLists = new ArrayList<>();
}

@Override
protected void onStart() {
    super.onStart();
    usingFirebaseDatabase();
}

private void usingFirebaseDatabase() {
    String lolipop = "Coiffeur";
    databaseReference.child("Sections/Restaurant")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        slideLists.clear();
                        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                            imageSection model = snapshot.getValue(imageSection.class);
                            slideLists.add(model);
                        }

                        Toast.makeText(PubsSectionActivity.this, "All data fetched", Toast.LENGTH_SHORT).show();
                        usingFirebaseImages(slideLists);
                    } else {
                        Toast.makeText(PubsSectionActivity.this, "No images in firebase", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(PubsSectionActivity.this, "NO images found \n" + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
                }
            });
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

}
private void usingFirebaseImages(List<imageSection> slideLists) {
    for (int i = 0; i < slideLists.size(); i++) {
        String downloadImageUrl = slideLists.get(i).getImageUrl();
        Toast.makeText(this, downloadImageUrl, Toast.LENGTH_LONG).show();
        ImageView imageView = new ImageView(this);
        Picasso.get().load(downloadImageUrl).fit().centerCrop().into(imageView);
        viewFlipp.addView(imageView);
        viewFlipp.setInAnimation(this, android.R.anim.slide_in_left);
        viewFlipp.setOutAnimation(this, android.R.anim.slide_out_right);
    }
}
选择Section.java

package com.flashpub.flash;

import java.util.List;

public class imageSection {

    String imageUrl;

    public imageSection(){

    }

    public imageSection(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() {
        return imageUrl;
    }
}
package com.flashpub.flash;

import java.util.List;

public class chooseSection {

    String sectionn;

    public chooseSection() {

    }

    public chooseSection(String sectionn) {
        this.sectionn = sectionn;
    }

    public String getSectionn() {
        return sectionn;
    }
}
public class ChooseSectionActivity extends AppCompatActivity {

ListView listView;
FirebaseListAdapter<chooseSection> adapter;
chooseSection sectionChosse;

//private HashMap<Integer, String> allItemsList = new HashMap<Integer, String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose_section);

    listView = findViewById(R.id.listView);

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference();
    myRef.keepSynced(true);

    Query query = FirebaseDatabase.getInstance().getReference().child("Sections");
    Log.i("salut", query.toString());
    FirebaseListOptions<chooseSection> options = new FirebaseListOptions.Builder<chooseSection>()
            .setLayout(R.layout.section_list)
            .setQuery(query,chooseSection.class)
            .build();
    adapter =  new FirebaseListAdapter<chooseSection>(options) {
        @Override
        protected void populateView(@NonNull View view, @NonNull chooseSection model, int position) {

            TextView sectionView = (TextView) view.findViewById(R.id.sectionView);
            sectionView.setText(model.getSectionn());


            chooseSection lu = sectionChosse;
            //String LatLng = lu.getLocationUserLatitude() + "," + lu.getLocationUserLongitude();
            //allItemsList.put(position, model.getSectionn());
        }

    };
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //String item = allItemsList.get(position);
            Intent intent = new Intent(ChooseSectionActivity.this, PubsSectionActivity.class);
            //intent.putExtra("key", item);
            startActivity(intent);
        }
    });
    listView.setAdapter(adapter);
}

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
public class PubsSectionActivity extends AppCompatActivity {
ViewFlipper viewFlipp;
private DatabaseReference databaseReference;
private List<imageSection> slideLists;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pubs_section);

    viewFlipp = findViewById(R.id.viewFlipper);

    databaseReference = FirebaseDatabase.getInstance().getReference();
    slideLists = new ArrayList<>();
}

@Override
protected void onStart() {
    super.onStart();
    usingFirebaseDatabase();
}

private void usingFirebaseDatabase() {
    String lolipop = "Coiffeur";
    databaseReference.child("Sections/Restaurant")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        slideLists.clear();
                        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                            imageSection model = snapshot.getValue(imageSection.class);
                            slideLists.add(model);
                        }

                        Toast.makeText(PubsSectionActivity.this, "All data fetched", Toast.LENGTH_SHORT).show();
                        usingFirebaseImages(slideLists);
                    } else {
                        Toast.makeText(PubsSectionActivity.this, "No images in firebase", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(PubsSectionActivity.this, "NO images found \n" + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
                }
            });
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

}
private void usingFirebaseImages(List<imageSection> slideLists) {
    for (int i = 0; i < slideLists.size(); i++) {
        String downloadImageUrl = slideLists.get(i).getImageUrl();
        Toast.makeText(this, downloadImageUrl, Toast.LENGTH_LONG).show();
        ImageView imageView = new ImageView(this);
        Picasso.get().load(downloadImageUrl).fit().centerCrop().into(imageView);
        viewFlipp.addView(imageView);
        viewFlipp.setInAnimation(this, android.R.anim.slide_in_left);
        viewFlipp.setOutAnimation(this, android.R.anim.slide_out_right);
    }
}
选择SectionActivity.java

package com.flashpub.flash;

import java.util.List;

public class imageSection {

    String imageUrl;

    public imageSection(){

    }

    public imageSection(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() {
        return imageUrl;
    }
}
package com.flashpub.flash;

import java.util.List;

public class chooseSection {

    String sectionn;

    public chooseSection() {

    }

    public chooseSection(String sectionn) {
        this.sectionn = sectionn;
    }

    public String getSectionn() {
        return sectionn;
    }
}
public class ChooseSectionActivity extends AppCompatActivity {

ListView listView;
FirebaseListAdapter<chooseSection> adapter;
chooseSection sectionChosse;

//private HashMap<Integer, String> allItemsList = new HashMap<Integer, String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose_section);

    listView = findViewById(R.id.listView);

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference();
    myRef.keepSynced(true);

    Query query = FirebaseDatabase.getInstance().getReference().child("Sections");
    Log.i("salut", query.toString());
    FirebaseListOptions<chooseSection> options = new FirebaseListOptions.Builder<chooseSection>()
            .setLayout(R.layout.section_list)
            .setQuery(query,chooseSection.class)
            .build();
    adapter =  new FirebaseListAdapter<chooseSection>(options) {
        @Override
        protected void populateView(@NonNull View view, @NonNull chooseSection model, int position) {

            TextView sectionView = (TextView) view.findViewById(R.id.sectionView);
            sectionView.setText(model.getSectionn());


            chooseSection lu = sectionChosse;
            //String LatLng = lu.getLocationUserLatitude() + "," + lu.getLocationUserLongitude();
            //allItemsList.put(position, model.getSectionn());
        }

    };
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //String item = allItemsList.get(position);
            Intent intent = new Intent(ChooseSectionActivity.this, PubsSectionActivity.class);
            //intent.putExtra("key", item);
            startActivity(intent);
        }
    });
    listView.setAdapter(adapter);
}

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
public class PubsSectionActivity extends AppCompatActivity {
ViewFlipper viewFlipp;
private DatabaseReference databaseReference;
private List<imageSection> slideLists;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pubs_section);

    viewFlipp = findViewById(R.id.viewFlipper);

    databaseReference = FirebaseDatabase.getInstance().getReference();
    slideLists = new ArrayList<>();
}

@Override
protected void onStart() {
    super.onStart();
    usingFirebaseDatabase();
}

private void usingFirebaseDatabase() {
    String lolipop = "Coiffeur";
    databaseReference.child("Sections/Restaurant")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        slideLists.clear();
                        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                            imageSection model = snapshot.getValue(imageSection.class);
                            slideLists.add(model);
                        }

                        Toast.makeText(PubsSectionActivity.this, "All data fetched", Toast.LENGTH_SHORT).show();
                        usingFirebaseImages(slideLists);
                    } else {
                        Toast.makeText(PubsSectionActivity.this, "No images in firebase", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(PubsSectionActivity.this, "NO images found \n" + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
                }
            });
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

}
private void usingFirebaseImages(List<imageSection> slideLists) {
    for (int i = 0; i < slideLists.size(); i++) {
        String downloadImageUrl = slideLists.get(i).getImageUrl();
        Toast.makeText(this, downloadImageUrl, Toast.LENGTH_LONG).show();
        ImageView imageView = new ImageView(this);
        Picasso.get().load(downloadImageUrl).fit().centerCrop().into(imageView);
        viewFlipp.addView(imageView);
        viewFlipp.setInAnimation(this, android.R.anim.slide_in_left);
        viewFlipp.setOutAnimation(this, android.R.anim.slide_out_right);
    }
}
公共类ChooseSectionActivity扩展了AppCompatActivity{
列表视图列表视图;
FirebaseListAdapter;
选择切面切面;
//private HashMap allItemsList=new HashMap();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u choose\u部分);
listView=findViewById(R.id.listView);
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
FirebaseDatabase=FirebaseDatabase.getInstance();
DatabaseReference myRef=database.getReference();
myRef.keepSynced(真);
Query Query=FirebaseDatabase.getInstance().getReference().child(“节”);
Log.i(“sallt”,query.toString());
FirebaseListOptions=new FirebaseListOptions.Builder()
.setLayout(右布局,截面图列表)
.setQuery(查询,选择Section.class)
.build();
适配器=新FirebaseListAdapter(选项){
@凌驾
受保护的void populateView(@NonNull视图,@NonNull选择器截面模型,int位置){
TextView sectionView=(TextView)view.findViewById(R.id.sectionView);
sectionView.setText(model.getSectionn());
选择SECTION lu=SECTIONCHOSE;
//字符串LatLng=lu.getLocationUserLatitude()+“,“+lu.getLocationUserLatitude();
//allItemsList.put(位置,model.getSectionn());
}
};
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//String item=allItemsList.get(位置);
意向意向=新意向(选择SectionActivity.this、PubsSectionActivity.class);
//意向。额外(“关键”,项目);
星触觉(意向);
}
});
setAdapter(适配器);
}
@凌驾
受保护的void onStart(){
super.onStart();
adapter.startListening();
}
@凌驾
受保护的void onStop(){
super.onStop();
adapter.stopListening();
}
}

PubsSectionActivity.java

package com.flashpub.flash;

import java.util.List;

public class imageSection {

    String imageUrl;

    public imageSection(){

    }

    public imageSection(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() {
        return imageUrl;
    }
}
package com.flashpub.flash;

import java.util.List;

public class chooseSection {

    String sectionn;

    public chooseSection() {

    }

    public chooseSection(String sectionn) {
        this.sectionn = sectionn;
    }

    public String getSectionn() {
        return sectionn;
    }
}
public class ChooseSectionActivity extends AppCompatActivity {

ListView listView;
FirebaseListAdapter<chooseSection> adapter;
chooseSection sectionChosse;

//private HashMap<Integer, String> allItemsList = new HashMap<Integer, String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose_section);

    listView = findViewById(R.id.listView);

    FirebaseDatabase.getInstance().setPersistenceEnabled(true);

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference();
    myRef.keepSynced(true);

    Query query = FirebaseDatabase.getInstance().getReference().child("Sections");
    Log.i("salut", query.toString());
    FirebaseListOptions<chooseSection> options = new FirebaseListOptions.Builder<chooseSection>()
            .setLayout(R.layout.section_list)
            .setQuery(query,chooseSection.class)
            .build();
    adapter =  new FirebaseListAdapter<chooseSection>(options) {
        @Override
        protected void populateView(@NonNull View view, @NonNull chooseSection model, int position) {

            TextView sectionView = (TextView) view.findViewById(R.id.sectionView);
            sectionView.setText(model.getSectionn());


            chooseSection lu = sectionChosse;
            //String LatLng = lu.getLocationUserLatitude() + "," + lu.getLocationUserLongitude();
            //allItemsList.put(position, model.getSectionn());
        }

    };
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //String item = allItemsList.get(position);
            Intent intent = new Intent(ChooseSectionActivity.this, PubsSectionActivity.class);
            //intent.putExtra("key", item);
            startActivity(intent);
        }
    });
    listView.setAdapter(adapter);
}

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
public class PubsSectionActivity extends AppCompatActivity {
ViewFlipper viewFlipp;
private DatabaseReference databaseReference;
private List<imageSection> slideLists;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pubs_section);

    viewFlipp = findViewById(R.id.viewFlipper);

    databaseReference = FirebaseDatabase.getInstance().getReference();
    slideLists = new ArrayList<>();
}

@Override
protected void onStart() {
    super.onStart();
    usingFirebaseDatabase();
}

private void usingFirebaseDatabase() {
    String lolipop = "Coiffeur";
    databaseReference.child("Sections/Restaurant")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        slideLists.clear();
                        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                            imageSection model = snapshot.getValue(imageSection.class);
                            slideLists.add(model);
                        }

                        Toast.makeText(PubsSectionActivity.this, "All data fetched", Toast.LENGTH_SHORT).show();
                        usingFirebaseImages(slideLists);
                    } else {
                        Toast.makeText(PubsSectionActivity.this, "No images in firebase", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(PubsSectionActivity.this, "NO images found \n" + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
                }
            });
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

}
private void usingFirebaseImages(List<imageSection> slideLists) {
    for (int i = 0; i < slideLists.size(); i++) {
        String downloadImageUrl = slideLists.get(i).getImageUrl();
        Toast.makeText(this, downloadImageUrl, Toast.LENGTH_LONG).show();
        ImageView imageView = new ImageView(this);
        Picasso.get().load(downloadImageUrl).fit().centerCrop().into(imageView);
        viewFlipp.addView(imageView);
        viewFlipp.setInAnimation(this, android.R.anim.slide_in_left);
        viewFlipp.setOutAnimation(this, android.R.anim.slide_out_right);
    }
}
公共类PubsSectionActivity扩展了AppCompatActivity{
ViewFlipper ViewFlip;
私有数据库参考数据库参考;
私人名单幻灯片列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pubs_部分);
viewFlip=findviewbyd(R.id.viewFlipper);
databaseReference=FirebaseDatabase.getInstance().getReference();
slidelist=newarraylist();
}
@凌驾
受保护的void onStart(){
super.onStart();
使用FirebaseDatabase();
}
使用FirebaseDatabase()的私有void{
字符串lolipop=“coiffer”;
databaseReference.child(“部门/餐厅”)
.addListenerForSingleValueEvent(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
if(dataSnapshot.exists()){
slideLists.clear();
对于(DataSnapshot快照:DataSnapshot.getChildren()){
imageSection模型=snapshot.getValue(imageSection.class);
添加(模型);
}
Toast.makeText(PubsSectionActivity.this,“获取的所有数据”,Toast.LENGTH_SHORT.show();
使用FireBaseImages(幻灯片列表);
}否则{
Toast.makeText(PubsSectionActivity.this,“firebase中没有图像”,Toast.LENGTH_SHORT.show();
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
Toast.makeText(PubsSectionActivity.this,“未找到图像”+databaseError.getMessage(),Toast.LENGTH\u SHORT.show();
}
});
getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏);
}
使用FireBaseImages的私有void(列表幻灯片列表){
对于(int i=0;i
}

请帮帮我,我卡住了


我不知道为什么会出现此错误…

您正在将侦听器附加到
部分/餐厅
。因为那是一家特定的餐厅,所以您不需要在
onDataChange
中对孩子们进行循环

因此:


嘿,Mehdi.ncb。你有没有机会阅读并尝试下面我的答案?这解释并解决了问题吗?如果我的答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见