gpt4 book ai didi

java - 在RecyclerView中实现 "add to favourite"机制

转载 作者:行者123 更新时间:2023-12-01 16:53:33 25 4
gpt4 key购买 nike

我有一个包含两个部分的recyclerView regularFavourites并填充我的 RecyclerView我有List<Object>我的object类:

public class Object {
String id,channelName;
boolean isFavorite;
}

现在我想输入具有 isfavorite == true 的值到我的顶部recyclerView在我的里面Favourite部分,但我不知道从哪里开始或到底要做什么?我必须对 List<Object> 进行排序吗?与 boolean 值?如果有人能给我一点提示或指导,那么这对我很有帮助,

请这张图片以便更好地理解,这就是我想要得到的 please this image for better understanding of what i want

我在我的 RecyclerView 中添加了该部分通过 SimpleSectionedRecyclerViewAdapter

最佳答案

class DataModal
{
public String title;
public boolean isFavourite;

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public boolean isFavourite() {
return isFavourite;
}

public void setIsFavourite(boolean isFavourite) {
this.isFavourite = isFavourite;
}
}


public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.SimpleViewHolder> {

private final Context mContext;
private List<DataModal> mData;

public void add(DataModal s,int position) {
position = position == -1 ? getItemCount() : position;
mData.add(position,s);
notifyItemInserted(position);
}

public void remove(int position){
if (position < getItemCount() ) {
mData.remove(position);
notifyItemRemoved(position);
}
}

public static class SimpleViewHolder extends RecyclerView.ViewHolder {
public final TextView title;

public SimpleViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.simple_text);
}
}

public SimpleAdapter(Context context, ArrayList<DataModal> data) {
mContext = context;
if (data != null)
mData = data;
else mData = new ArrayList<DataModal>();
}

public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(mContext).inflate(R.layout.simple_item, parent, false);
return new SimpleViewHolder(view);
}

@Override
public void onBindViewHolder(SimpleViewHolder holder, final int position) {

DataModal data = mData.get(position);
holder.title.setText(data.getTitle());
holder.title.setOnClickListener(new Listener(position,mData.get(position)));
}

class Listener implements View.OnClickListener
{
DataModal Data;
int position;
Listener(int position,DataModal Data)
{
this.Data = Data;
this.position = position;
}
@Override
public void onClick(View view) {

if(Data.isFavourite())
{
//mark the view as unfavorite
}
else{
//mark the view as favorite
}

Toast.makeText(mContext,"Position ="+position,Toast.LENGTH_SHORT).show();
}
}



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

关于java - 在RecyclerView中实现 "add to favourite"机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35866370/

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