title: error: constructor FirebaseRecyclerAdapter in class FirebaseRecyclerAdapter<T,VH> cannot be applied to given types
body: <p>I have the following code for a recyclerview using Firebase. The Recycler View uses the following adapter.</p>
  
  <pre><code>FirebaseRecyclerAdapter&lt;DownloadList,DownloadListFragment.DownloadViewHolder&gt; recyclerAdapter= new FirebaseRecyclerAdapter&lt;DownloadList, DownloadViewHolder&gt;(
              DownloadList.class,
              R.layout.download_cardview,
              DownloadViewHolder.class,
              databaseReference
      ) {
          @Override
          protected void populateViewHolder(DownloadViewHolder viewHolder, DownloadList model, int position) {
              viewHolder.setTitle(model.gettitle());
              //viewHolder.setImage(model.getimage());
              viewHolder.setDate(model.getDate());
          }
  
  
          @Override
          public DownloadViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
              DownloadViewHolder viewHolder = super.onCreateViewHolder(parent, viewType);
              viewHolder.setOnClickListener(new DownloadViewHolder.ClickListener() {
                  @Override
                  public void onItemClick(View view, int position) {
                      Toast.makeText(getActivity(), "Item click at " + arrayAdapter.getItem(position), Toast.LENGTH_SHORT).show();
  
                      DownloadImageFragment fragment = new DownloadImageFragment();
                      Bundle arguments = new Bundle();
                      arguments.putString( "Batch" , batchID);
                      arguments.putString( "Type" , typeID);
                      arguments.putString( "Url", arrayAdapter.getItem(position));
                      arguments.putString( "Title", (String) titleAdapter.getItem(position));
  
                      fragment.setArguments(arguments);
                      final FragmentTransaction ft = getFragmentManager().beginTransaction();
                      ft.replace(R.id.content, fragment , "Download List");
                      ft.commit();
  
                  }
  
                  @Override
                  public void onItemLongClick(View view, int position) {
                      return ;
                  }
              });
  
              return viewHolder;
          }
      };
  
      recyclerView.setAdapter(recyclerAdapter);
  
  
      return view;
  }
  
  public static class DownloadViewHolder extends RecyclerView.ViewHolder {
      View mView;
      TextView textView_Title;
      TextView textView_Date;
      TextView textView_Image;
  
      String simage,stitle;
  
      private static Context context;
  
      public DownloadViewHolder(View itemView) {
          super(itemView);
          mView = itemView;
          context = itemView.getContext();
          textView_Title = (TextView) itemView.findViewById(R.id.textView_download_title);
          textView_Image = (TextView) itemView.findViewById(R.id.textView_image_download);
          textView_Date = (TextView) itemView.findViewById(R.id.textView_download_date);
  
          itemView.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  mClickListener.onItemClick(v, getAdapterPosition());
  
              }
          });
          itemView.setOnLongClickListener(new View.OnLongClickListener() {
              @Override
              public boolean onLongClick(View v) {
                  mClickListener.onItemLongClick(v, getAdapterPosition());
                  return true;
              }
          });
      }
  </code></pre>
  
  <p>The getters and setters are defined as :</p>
  
  <pre><code>public class DownloadList {
  private String date;
  private String title;
  private String image;
  
  public DownloadList(){}
  
  public DownloadList(String date, String title, String image){
      this.date = date;
      this.title = title;
      this.image = image;
  }
  
  public String getDate(){
      return date;
  }
  
  public void setDate(String date){
      this.date = date;
  }
  
  public String gettitle(){
      return title;
  }
  
  public void setTitle(String title){
      this.title = title;
  }
  
  public String getimage(){
      return image;
  }
  
  public void setimage(String description){
      this.image = image;
  }
  }
  </code></pre>
  
  <p>Now on building the apk the following error pops up </p>
  
  <blockquote>
    <p>error: constructor FirebaseRecyclerAdapter in class
    FirebaseRecyclerAdapter cannot be applied to given types;
    required: FirebaseRecyclerOptions found:
    Class,int,Class,DatabaseReference
    reason: actual and formal argument lists differ in length where T,VH
    are type-variables: T extends Object declared in class
    FirebaseRecyclerAdapter VH extends ViewHolder declared in class
    FirebaseRecyclerAdapter</p>
  </blockquote>
  
  <p>This was not there before the 3.1 update of the android studio(March 2018). </p>
  
  <p>I have event tried changing the app:compatv7 version but it still doesn't work.</p>
  
  <p>Also according to the documentation provided <a href="https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md" rel="nofollow noreferrer">FirebaseUI for Realtime Database</a> it says to use </p>
  
  <pre><code>Query query = FirebaseDatabase.getInstance()
      .getReference()
      .child("chats")
      .limitToLast(50);
  </code></pre>
  
  <p>and</p>
  
  <pre><code>FirebaseRecyclerOptions&lt;Chat&gt; options =
              new FirebaseRecyclerOptions.Builder&lt;Chat&gt;()
                      .setQuery(query, Chat.class)
                      .build();
  </code></pre>
  
  <p>Now my question is since i have used the above recyclerView in 15 different places in the app so do i need to change this at all the 15 places or <strong>there is some other way around</strong> ? Also is there any surety that if I use query, the new code will be compatible ? </p>
  
  <p><a href="https://github.com/addy1397/MatrixAcademy/tree/master/app" rel="nofollow noreferrer">Github link for complete code</a></p>