Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android setItemOnclickListener在FirebaseRecyclerAdapter中不工作_Android_Firebase - Fatal编程技术网

Android setItemOnclickListener在FirebaseRecyclerAdapter中不工作

Android setItemOnclickListener在FirebaseRecyclerAdapter中不工作,android,firebase,Android,Firebase,我是FirebASE的新手,一直停留在setItemclickListener上,这里显示了一些片段,请帮助我。主要发生在FirebaseRecycler中,其中setItemClickListener是接口,用于Firebaserecy的Onclick Leavereqests.java @Override //LeaveReqests.java leavereq= database.getReference("LeafForm"); recyclerview = (Re

我是FirebASE的新手,一直停留在setItemclickListener上,这里显示了一些片段,请帮助我。主要发生在FirebaseRecycler中,其中setItemClickListener是接口,用于Firebaserecy的Onclick

Leavereqests.java

  @Override
//LeaveReqests.java 
    leavereq= database.getReference("LeafForm");
    recyclerview = (RecyclerView)findViewById(R.id.recycler_hod);
    recyclerview.setHasFixedSize(true);
    LinearLayoutManager manager = new LinearLayoutManager(this);
    recyclerview.setLayoutManager(manager);
    loadhod();
}
private void loadhod() {
  adapter = new FirebaseRecyclerAdapter<LeaveReq, HodViewHolder>(LeaveReq.class,R.layout.hod_login_list
          ,HodViewHolder.class,leavereq) {
        @Override
        protected void populateViewHolder(HodViewHolder viewHolder, LeaveReq model, int position) {
             viewHolder.name.setText(model.getName());

            clickitem = model;
            viewHolder.setItemClickListener(new ItemClickListener() { //the non working part 
                @Override
                public void onClick(View view, int position) {
                    Intent hodlist = new Intent(LeaveRequests.this,HodReqList.class);
                    hodlist.putExtra("hodid",adapter.getRef(position).getKey());
                    startActivity(hodlist);
                }
            });
        }
    };
    recyclerview.setAdapter(adapter);}}
java是具有名称getter的类

public class LeaveReq {
private String name;

public LeaveReq() {
}

public LeaveReq(String name) {

    this.name = name;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}
项目单击侦听器界面

public interface ItemClickListener {
void onClick(View view, int position);
}

正在填充列表,但单击操作不起作用

尝试类似操作

诸如RecycleView按钮之类的功能应放置在HodViewHolder类中,以便RecycleView可以识别按钮单击的工具

  //public static class ViewHolder extends RecyclerView.ViewHolder {..
    View mView;

    //public ViewHolder(View itemView) {...
    super(itemView);
    mView = itemView;




     viewHolder.mView .setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {....}
我希望能帮助你。

@Override
 @Override
    protected void onStart() {

        super.onStart();
        FirebaseRecyclerAdapter<adapter, PandaViewHolder> MyAdapter = new FirebaseRecyclerAdapter <adapter, PandaViewHolder>(
                adapter.class,
                R.layout.replay_panda,
                HodViewHolder.class,
                mDatabase


        ) {
            @Override
            protected void populateViewHolder(final PandaViewHolder viewHolder, adapter model, int position) {

                final String position_key = getRef( position ).getKey().toString();

                viewHolder.setTitle(model.getTitle());


              //// Here
               //#################################

               viewHolder.mView.setOnClik{....}

              //#################################


            }
        };
        RecyclerView.setAdapter( MyAdapter );
    }


    public static class HodViewHolder  extends RecyclerView.ViewHolder {


        View mView;
        DatabaseReference mDatabase1231223;
        FirebaseAuth mAuth;


        public PandaViewHolder(View itemView) {

            super(itemView);
            mView = itemView;

        }

        // post text view
        public void setTitle(String title) {



        }
受保护的void onStart(){ super.onStart(); FirebaseRecyclerAdapter MyAdapter=新的FirebaseRecyclerAdapter( adapter.class, R.layout.replay_panda, HodViewHolder.class, mDatabase ) { @凌驾 受保护的void populateViewHolder(最终PandaViewHolder视图支架,适配器型号,内部位置){ 最终字符串位置\u key=getRef(位置).getKey().toString(); setTitle(model.getTitle()); ////这里 //################################# viewHolder.mView.setOnClik{..} //################################# } }; RecyclerView.setAdapter(MyAdapter); } 公共静态类HodViewHolder扩展了RecyclerView.ViewHolder{ 视图视图; 数据库参考mDatabase1231223; FirebaseAuth mAuth; 公共PandaViewHolder(视图项视图){ 超级(项目视图); mView=项目视图; } //后文本视图 公共无效集合标题(字符串标题){ }
在何处进行所有这些更改..其ItemClickListener界面未设置ClickListener这是一个关于AdAfter的简单演示,以显示来自的数据;'''RecycleView'您可以理解它并对其采取行动
 @Override
    protected void onStart() {

        super.onStart();
        FirebaseRecyclerAdapter<adapter, PandaViewHolder> MyAdapter = new FirebaseRecyclerAdapter <adapter, PandaViewHolder>(
                adapter.class,
                R.layout.replay_panda,
                HodViewHolder.class,
                mDatabase


        ) {
            @Override
            protected void populateViewHolder(final PandaViewHolder viewHolder, adapter model, int position) {

                final String position_key = getRef( position ).getKey().toString();

                viewHolder.setTitle(model.getTitle());


              //// Here
               //#################################

               viewHolder.mView.setOnClik{....}

              //#################################


            }
        };
        RecyclerView.setAdapter( MyAdapter );
    }


    public static class HodViewHolder  extends RecyclerView.ViewHolder {


        View mView;
        DatabaseReference mDatabase1231223;
        FirebaseAuth mAuth;


        public PandaViewHolder(View itemView) {

            super(itemView);
            mView = itemView;

        }

        // post text view
        public void setTitle(String title) {



        }