错误:Setter函数未与任何字段关联

时间:2017-05-23 10:21:15

标签: java android

我已经开始使用Realm DB,但在编译期间出现错误:“Setter set_text没有与任何字段关联”出现。出现这种错误的原因是什么?

    package com.example.ahmed.drawer_implementation;

  import io.realm.RealmObject;

/**
 * Created by ahmed on 21-05-17.
 */

public class favoriteItems extends RealmObject {
    private String fav_text;
    private int fav_image;
    favoriteItems(String x, int y){
        fav_text=x;
        fav_image=y;
    }
    public void setText(String t){
        fav_text=t;
    }
    public void setImage(int t){
        fav_image=t;
    }
}

这是适配器类:     package com.example.ahmed.drawer_implementation;

import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.widget.RecyclerView;  
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

import io.realm.RealmResults;

import static com.example.ahmed.drawer_implementation.MainActivity.av;
import static com.example.ahmed.drawer_implementation.MainActivity.realm;
//import com.squareup.picasso.Picasso;

public class main_menu_adapter extends 
RecyclerView.Adapter<main_menu_adapter.ViewHolder> {
public static ArrayList<main_menu_items>favorite_storage=new 
ArrayList<main_menu_items>();
public main_menu_items item;
static int count=0;
private ArrayList<main_menu_items> arrayList;
private Context mcontext;

public main_menu_adapter(Context context, ArrayList<main_menu_items> menu) {
    this.arrayList = menu;
    this.mcontext = context;
}

@Override
public main_menu_adapter.ViewHolder onCreateViewHolder(ViewGroup parent, int 
viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_menu_items, parent, false);
    return new ViewHolder(view);

}
@Override
public void onBindViewHolder(main_menu_adapter.ViewHolder holder, int position) {
    holder.textView.setText(arrayList.get(position).getMenu_text());
    holder.imageView.setImageResource(arrayList.get(position).getMenu_image());
 /*   for(int i=0;i<10;i++){
        favorite_storage[i]=-1;
    }

    favorite_storage[count]=slot;
    count++;*/
    final int slot=position;
    final SharedPreferences favorites=mcontext.getSharedPreferences("Favorites",Context.MODE_PRIVATE);
    SharedPreferences.Editor mark=favorites.edit();
    holder.fav.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(buttonView.isChecked()) {
                favorite_storage.add(MainActivity.av.get(slot));

                    realm.beginTransaction();
                    favoriteItems item = realm.createObject(favoriteItems.class);
                item.setText(av.get(slot).getMenu_text().trim());
                item.setImage(av.get(slot).getMenu_image());
                    realm.commitTransaction();

                //implement a while loop to iterate the array excluding index value -1's. This should be done for a separate activity
               //Refer to the prepareData() function.
                Toast.makeText(mcontext, "slot number: "+ slot, Toast.LENGTH_SHORT).show();
            }
            else{
                realm.beginTransaction();
                RealmResults<favoriteItems> items = realm.where(favoriteItems.class).equalTo("fav_text",av.get(slot).getMenu_text()).findAll();
                if(!items.isEmpty()) {
                    for(int i = items.size() - 1; i >= 0; i--) {
                        items.get(i).removeFromRealm();
                    }
                }
                realm.commitTransaction();
                Toast.makeText(mcontext,"slot number: "+slot+" removed",Toast.LENGTH_SHORT).show();
                //favorite_storage[count]=-1;
            }

        }
    });


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


public class ViewHolder extends RecyclerView.ViewHolder {
    private TextView textView;
    private CheckBox fav;
    private ImageView imageView;
    public ViewHolder(View v) {
        super(v);
         fav=(CheckBox) v.findViewById(R.id.favorite);
        textView = (TextView) v.findViewById(R.id.menu_text);
        imageView = (ImageView) v.findViewById(R.id.menu_image);
    }
}

}

0 个答案:

没有答案