Java 如何在Android系统上不重复ListView的元素
我有一个大问题,不管你有没有。当有超过15个数据时,我的移动应用程序的ListView会重复元素。我正在使用Firebase的云存储来存储数据 我的适配器的代码是:Java 如何在Android系统上不重复ListView的元素,java,android,firebase,listview,firebase-storage,Java,Android,Firebase,Listview,Firebase Storage,我有一个大问题,不管你有没有。当有超过15个数据时,我的移动应用程序的ListView会重复元素。我正在使用Firebase的云存储来存储数据 我的适配器的代码是: @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { View view = convertView; if(view == null){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView;
if(view == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.lista_receitas, parent, false);
if(receitasAdap.size() > 0){
Receitas receita = receitasAdap.get(position);
final ImageView imagemReceita = (ImageView) view.findViewById(R.id.imagemReceitaId);
TextView tituloReceita = (TextView) view.findViewById(R.id.tituloReceitaId);
FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
StorageReference storageReference = firebaseStorage.getReferenceFromUrl("gs://receitas-pantaneiras.appspot.com/").child(receita.getUrl());
storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Picasso.with(getContext()).load(uri.toString()).resize(widht, height).centerCrop().into(imagemReceita);
}
});
tituloReceita.setText(receita.getNome());
tituloReceita.setVisibility(View.VISIBLE);
}
}
return view;
}
请尝试以下代码:
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView;
if(view == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.lista_receitas, parent, false);
}
Receitas receita = receitasAdap.get(position);
final ImageView imagemReceita = (ImageView) view.findViewById(R.id.imagemReceitaId);
TextView tituloReceita = (TextView) view.findViewById(R.id.tituloReceitaId);
FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
StorageReference storageReference = firebaseStorage.getReferenceFromUrl("gs://receitas-pantaneiras.appspot.com/").child(receita.getUrl());
storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Picasso.with(getContext()).load(uri.toString()).resize(widht, height).centerCrop().into(imagemReceita);
}
});
tituloReceita.setText(receita.getNome());
tituloReceita.setVisibility(View.VISIBLE);
return view;
}
希望有帮助 你能解释一下OBS是什么意思吗?在我的语言中,它是观察的缩写。我很抱歉:你能解决这个问题吗?你能附上一个问题的截图吗?因为我是一个新用户,我不能附上图像,但我为图像添加了一个链接。这个代码工作不正常,图像总是一个接一个地出现,还有其他想法吗?