Java 实施";添加到“收藏夹”中;RecyclerView中的机制
我有一个包含两个部分的recyclerViewJava 实施";添加到“收藏夹”中;RecyclerView中的机制,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有一个包含两个部分的recyclerView常规和收藏夹,用于填充我的recyclerView我有列表我的对象类: public class Object { String id,channelName; boolean isFavorite; } 现在我想把isfavorite==true的值放在recyclerView的顶部,放在favorite部分中,但我不知道从哪里开始,也不知道该做什么?我必须用布尔值对列表进行排序吗?如果有人能给我一点提示或指导,那对我会很有帮助 为了更好地理解,
常规
和收藏夹
,用于填充我的recyclerView
我有列表
我的对象
类:
public class Object {
String id,channelName;
boolean isFavorite;
}
现在我想把isfavorite==true
的值放在recyclerView
的顶部,放在favorite
部分中,但我不知道从哪里开始,也不知道该做什么?我必须用布尔值对列表进行排序吗?如果有人能给我一点提示或指导,那对我会很有帮助
为了更好地理解,请使用此图像,
这就是我想要得到的
我通过公共类SimpleAdapter扩展了RecyclerView.Adapter在我的RecyclerView
中添加了该部分{
私有最终上下文mContext;
私有列表数据;
公共void add(字符串s,int位置){
位置=位置==-1?getItemCount():位置;
mData.add(位置,s);
(位置);
}
公共无效删除(内部位置){
if(位置
公共类SimpleAdapter扩展了RecyclerView.Adapter{
私有最终上下文mContext;
私有列表数据;
公共void add(字符串s,int位置){
位置=位置==-1?getItemCount():位置;
mData.add(位置,s);
(位置);
}
公共无效删除(内部位置){
if(位置
类数据模式
{
公共字符串标题;
公众最爱;
公共字符串getTitle(){
返回标题;
}
公共无效集合标题(字符串标题){
this.title=标题;
}
公共布尔值(){
回报是我的最爱;
}
public void setisfavorite(布尔值isfavorite){
this.isfavorite=isfavorite;
}
}
公共类SimpleAdapter扩展了RecyclerView.Adapter{
私有最终上下文mContext;
私有列表数据;
公共无效添加(数据模式s,整数位置){
位置=位置==-1?getItemCount():位置;
mData.add(位置,s);
(位置);
}
公共无效删除(内部位置){
if(位置public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.SimpleViewHolder> {
private final Context mContext;
private List<String> mData;
public void add(String 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, String[] data) {
mContext = context;
if (data != null)
mData = new ArrayList<String>(Arrays.asList(data));
else mData = new ArrayList<String>();
}
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) {
holder.title.setText(mData.get(position));
holder.title.setOnClickListener(new Listener(position,mData.get(position),false,favview));
}
class Listener implements View.OnClickListener
{
ImageView favoriteView;
int position;
Listener(int position,String Data,boolean isFavourite,ImageView favoriteView)
{
this.favoriteView = favoriteView;
this.position = position;
}
@Override
public void onClick(View view) {
if(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();
}
}
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();
}
}