gpt4 book ai didi

java - Android中如何使用recyclerview显示特定条件下的数据?

转载 作者:行者123 更新时间:2023-12-01 19:38:16 28 4
gpt4 key购买 nike

下面的代码是列表适配器,我想只显示满足“isActive”= true条件的数据,并按年龄对数据进行排序。我尝试检查和过滤 onBindViewHolder 上的数据,但它只会阻止数据插入,列表仍然保留在回收器 View 中。

@Override
public void onBindViewHolder(DeveloperViewHolder holder, int position) {
ListItem currentItem = DeveloperList.get(position);

String name = currentItem.getName();
String phone = currentItem.getPhone();
String isActive = currentItem.getIsActive();
holder.check=isActive;


if(isActive.equals("true")) {
holder.txtname.setText(name);
holder.txtphone.setText(phone);
}

}

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

public class DeveloperViewHolder extends RecyclerView.ViewHolder{
public TextView txtname;
public TextView txtphone;
public String check;

public DeveloperViewHolder(View itemView) {
super(itemView);

txtname = itemView.findViewById(R.id.developername1);
txtphone = itemView.findViewById(R.id.developernumber1);

itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int pos = getAdapterPosition();
if (pos != RecyclerView.NO_POSITION) {
ListItem clickItem = DeveloperList.get(pos);
Intent intent = new Intent(mContext, DetailActivity.class);
intent.putExtra("balance", clickItem.getBalance());
intent.putExtra("picture", clickItem.getPicture());
intent.putExtra("age", clickItem.getAge());
intent.putExtra("name", clickItem.getName());
intent.putExtra("gender", clickItem.getGender());
intent.putExtra("phone", clickItem.getPhone());
intent.putExtra("address", clickItem.getAddress());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Toast.makeText(v.getContext(), "clicked" + clickItem.getName(), Toast.LENGTH_SHORT).show();
}
}
});
}


}

最佳答案

您不应该向适配器提供未准备的列表。在将列表提供给适配器之前,您应该对列表进行排序和过滤。

否则,您将“混淆”适配器,因为元素位置不正确(即元素 3 未激活,因此可见元素 3 实际上是元素 4)。

关于java - Android中如何使用recyclerview显示特定条件下的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602289/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com