Java recyclerView中的错误

Java recyclerView中的错误,java,android,android-recyclerview,Java,Android,Android Recyclerview,有人能检查一下里面有没有错误吗。这是我的代码,如果代码有错误请告诉我?我不知道如何修复代码Search.java 在我的RecyclerItemClickListener.java中 public interface RecyclerItemClickListener { void onItemClick(int position); } 我的适配器HierAdapter.java public class HireAdapter extends RecyclerView.Adapter

有人能检查一下里面有没有错误吗。这是我的代码,如果代码有错误请告诉我?我不知道如何修复代码Search.java

在我的RecyclerItemClickListener.java中

public interface RecyclerItemClickListener {
void onItemClick(int position);   
}
我的适配器HierAdapter.java

public class HireAdapter extends RecyclerView.Adapter<HireAdapter.ViewHolder>{


private ArrayList<HireItem> TeacherItemList;

private Context context;
private RecyclerItemClickListener itemClickListener;

public HireAdapter(Context c, ArrayList<HireItem> teacherItemList, RecyclerItemClickListener listener) {
    TeacherItemList = teacherItemList;
    context = c;
    itemClickListener = listener;
}

public static class ViewHolder extends RecyclerView.ViewHolder{

    public final TextView nameText, subjectText,levelText ,cityText;

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

         nameText = (TextView)itemView.findViewById(R.id.result_name);
         subjectText = (TextView)itemView.findViewById(R.id.result_subject);
         levelText = (TextView)itemView.findViewById(R.id.result_level);
         cityText = (TextView)itemView.findViewById(R.id.result_city);

    }
}


@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View rowView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_teachers,parent,false);
    final ViewHolder viewHolder = new ViewHolder(rowView);
    rowView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            itemClickListener.onItemClick(viewHolder.getLayoutPosition());
        }
    });
    return viewHolder;
}

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

    holder.nameText.setText(TeacherItemList.get(position).getResult_name());
    holder.subjectText.setText(TeacherItemList.get(position).getResult_subject());
    holder.levelText.setText(TeacherItemList.get(position).getResult_level());
    holder.cityText.setText(TeacherItemList.get(position).getResult_city());

    //Here it is simply write onItemClick listener here
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Context context = v.getContext();
            Intent intent = new Intent(context, ProfileTeaAdapter.class);

            context.startActivity(intent);
        }
    });


}


@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
}

@Override
public int getItemCount() {
    return TeacherItemList.size();
}}
公共类HireAdapter扩展了RecyclerView.Adapter{
私有ArrayList TeacherItemList;
私人语境;
私有回收器项ClickListener项ClickListener;
公共HireAdapter(上下文c、ArrayList teacherItemList、RecyclerItemClickListener侦听器){
TeacherItemList=TeacherItemList;
上下文=c;
itemClickListener=监听器;
}
公共静态类ViewHolder扩展了RecyclerView.ViewHolder{
公共最终文本查看名称文本、主题文本、级别文本、城市文本;
公共视图持有者(视图项视图){
超级(项目视图);
nameText=(TextView)itemView.findViewById(R.id.result\u name);
subjectText=(TextView)itemView.findViewById(R.id.result\u subject);
levelText=(TextView)itemView.findViewById(R.id.result\u level);
cityText=(TextView)itemView.findViewById(R.id.result\u city);
}
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View rowView=LayoutInflater.from(parent.getContext()).flate(R.layout.list\u item\u教师,家长,false);
最终视窗夹持器视窗夹持器=新视窗夹持器(行视图);
rowView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
itemClickListener.onItemClick(viewHolder.getLayoutPosition());
}
});
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(最终视图持有人,最终整型位置){
holder.nameText.setText(TeacherItemList.get(position.getResult_name());
holder.subjectText.setText(TeacherItemList.get(position.getResult_subject());
holder.levelText.setText(TeacherItemList.get(position.getResult_level());
holder.cityText.setText(TeacherItemList.get(position.getResult_city());
//这里只需在这里编写McClick侦听器
holder.itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Context=v.getContext();
意向意向=新意向(上下文,ProfileTeaAdapter.class);
背景。开始触觉(意图);
}
});
}
@凌驾
附加ToRecyclerView(RecyclerView RecyclerView)上的公共无效{
super.onAttachedToRecyclerView(recyclerView);
}
@凌驾
public int getItemCount(){
返回TeacherItemList.size();
}}
在Search.java中,我在每个错误处都写下了注释。因为我不知道如何更正一些代码来使用HireAdapter和RecyclerItemClickListener,有人能解决这个错误吗

public class Search extends Fragment implements RecyclerItemClickListener {

private Context context;
private RecyclerView recyclerView;
private DatabaseReference databaseReference;
private FirebaseAuth firebaseAuth;
private List<HireItem> hireItem = new ArrayList<>();
HireAdapter mAdapter;
ImageView bt_search;
ProgressDialog progressDialog;
Spinner spinner_sort;

String key = "req_skill1";

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_search,container,false);

    //Getting FireBase Instance
    firebaseAuth = FirebaseAuth.getInstance();
    databaseReference = FirebaseDatabase.getInstance().getReference("teachers");

    //Getting id of Views
    RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.rv_places);
    recyclerView.setAdapter(mAdapter);


    //
    bt_search = (ImageView)view.findViewById(R.id.bt_search);
    spinner_sort = (Spinner)view.findViewById(R.id.spinner_sort);
    setupSpinner();

    List<HireItem> hireItem = new ArrayList<>();
    mAdapter = new HireAdapter(getContext(),R.layout.list_item_teachers,hireItem); // error at (getContext(),R.layout.list_item_teachers,hireItem)

    bt_search.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if(mAdapter != null){
                mAdapter.clear(); // error at .clear();
            }

            progressDialog = new ProgressDialog(getContext());
            progressDialog.setMessage("Searching Teachers");
            progressDialog.show();


            FirebaseDatabase.getInstance().getReference("teachers").orderByChild("subject").startAt(key).endAt(key + "~")
                    .addChildEventListener(new ChildEventListener() {
                        @Override
                        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                            Teachers child = dataSnapshot.getValue(Teachers.class);
                            HireItem hireItem = new HireItem(child.teaname, child.city, child.subject, child.level, child.sex,child.mobile, child.qualification, child.skill1, child.experince, child.salary,child.age);
                            mAdapter.add(hireItem);  // error at .add
                            progressDialog.dismiss();

                            if(mAdapter == null){
                                Toast.makeText(getContext(), "No Match Found", Toast.LENGTH_SHORT).show();
                            }
                        }

                        @Override
                        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onChildRemoved(DataSnapshot dataSnapshot) {

                        }
                        @Override
                        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });

            if(mAdapter == null){
                Toast.makeText(getContext(), "No Match Found", Toast.LENGTH_SHORT).show();
            }
            else{
                recyclerView.setAdapter(mAdapter);  // error at recyclerView

            }

        }
    });
    return view;
}
private void setupSpinner(){
    ArrayAdapter adapter = ArrayAdapter.createFromResource(getContext(),R.array.array_teacher_sort,
            android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
    spinner_sort.setAdapter(adapter);
    spinner_sort.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            key = (String)adapterView.getItemAtPosition(i);
            if(key.equals(getString(R.string.sort_A))){
                key = "Math";
            }else if(key.equals(getString(R.string.sort_AA))){
                key = "computer";
            }
            else if(key.equals(getString(R.string.sort_AB))){
                key = "Biology";
            }

            else if(key.equals(getString(R.string.sort_AD))){
                key = "Physics";
            }
            else if(key.equals(getString(R.string.sort_AXX))){
                key = "Holy Quran";
            }
            else if(key.equals(getString(R.string.sort_AZ))){
                key = "Chysics";
            }
            else if(key.equals(getString(R.string.sort_AS))){
                key = "English";
            }
            else if(key.equals(getString(R.string.sort_AQ))){
                key = "Arabic";
            }
            else if(key.equals(getString(R.string.sort_ADD))){
                key = "Science";
            }
            else if(key.equals(getString(R.string.sort_AE))){
                key = "History";
            }
            else if(key.equals(getString(R.string.sort_AW))){
                key = "Geograpghy";
            }
            else if(key.equals(getString(R.string.sort_AR))){
                key = "Art education";
            }
            else if(key.equals(getString(R.string.sort_AT))){
                key = "Family education";
            }
            else if(key.equals(getString(R.string.sort_aae))){
                key = "Religion";
            }

        }
        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
        }

    });
}

@Override
public void onResume() {
    super.onResume();
    mAdapter.clear();  // error at .clear();
}

@Override
public void onItemClick(int position) {

} }
公共类搜索扩展片段实现RecyclerItemClickListener{
私人语境;
私人回收站;
私有数据库参考数据库参考;
私有FirebaseAuth FirebaseAuth;
private List hireItem=new ArrayList();
HireAdapter mAdapter;
ImageView bt_搜索;
进行对话进行对话;
微调器微调器_排序;
字符串key=“req_skill1”;
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(R.布局。活动搜索,容器,错误);
//获取FireBase实例
firebaseAuth=firebaseAuth.getInstance();
databaseReference=FirebaseDatabase.getInstance().getReference(“教师”);
//获取视图id
RecyclerView RecyclerView=(RecyclerView)view.findViewById(R.id.rv_位置);
recyclerView.setAdapter(mAdapter);
//
bt_search=(ImageView)view.findviewbyd(R.id.bt_search);
spinner\u sort=(spinner)view.findviewbyd(R.id.spinner\u sort);
设置微调器();
List hireItem=new ArrayList();
mAdapter=new hiredapter(getContext(),R.layout.list_item_teachers,hireItem);//在(getContext(),R.layout.list_item_teachers,hireItem)处出错
bt_search.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
如果(mAdapter!=null){
mAdapter.clear();//在.clear()处出错;
}
progressDialog=新建progressDialog(getContext());
progressDialog.setMessage(“搜索教师”);
progressDialog.show();
FirebaseDatabase.getInstance().getReference(“教师”).orderByChild(“主题”).startAt(键).endAt(键+“~”)
.addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
Teachers-child=dataSnapshot.getValue(Teachers.class);
HireItem HireItem=新的HireItem(child.teName、child.city、child.subject、child.level、child.sex、child.mobile、child.quality、child.skill1、child.experience、child.salary、child.age);
mAdapter.add(hireItem);//在.add处出错
progressDialog.disclose();
if(mAdapter==null){
Toast.makeText(getContext(),“未找到匹配项”,Toast.LENGTH_SHORT.show();
}
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
if(mAdapter==null){
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View rowView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_teachers,parent,false);
    final ViewHolder viewHolder = new ViewHolder(rowView);
    rowView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            itemClickListener.onItemClick(viewHolder.getLayoutPosition());
        }
    });
    return viewHolder;
}

@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
    holder.nameText.setText(TeacherItemList.get(position).getResult_name());
    holder.subjectText.setText(TeacherItemList.get(position).getResult_subject());
    holder.levelText.setText(TeacherItemList.get(position).getResult_level());
    holder.cityText.setText(TeacherItemList.get(position).getResult_city());

    //Here it is simply write onItemClick listener here
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Context context = v.getContext();
            Intent intent = new Intent(context, ProfileTeaAdapter.class);

            context.startActivity(intent);
        }
    });
}