title: Cannot resolve symbol "FirebaseRecyclerOptions"
body: <p>I am making a chat messenger via Firebase but <strong>my Android Studio 2.3.2 cannot resolve the symbol of FirebaseRecyclerOptions&lt;></strong> even my app is successfully connected with Firebase and configured correctly to Firebase Realtime Database and FirebaseRecyclerAdaper also was well imported.</p>
  
  <p>Seems build.gradle dependencies are synchronized and OK. I need someone's help.</p>
  
  <p>The Below is my dependencies in  and codes in MainActivities.</p>
  
  <p>Added and tried with several other dependencies in build.gradle</p>
  
  <pre><code>private FirebaseRecyclerAdapter&lt;ChatMessage, MessageViewHolder&gt; mFirebaseAdapter; // Ph4 Reading chat
  
  private static final String MESSAGES_CHILD = "messages"; // Ph3 Chat DB
  
  private DatabaseReference mFirebaseDatabaseReference; // Ph3 Chat DB
  private EditText mMessageEditText; // Ph3 DB
  
  private FirebaseAuth mFirebaseAuth;
  private FirebaseUser mFirebaseUser;
  
  private String mUsername; // Ph3 Chat DB
  private String mPhotoUrl; // Ph3 DB
  
  private GoogleApiClient mGoogleApiClient; // Ph2 Log-out
  
  @Override // Ph2 Log-out
  public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
  
  }
  
  public static class MessageViewHolder extends RecyclerView.ViewHolder { // 내부클래스
      TextView nameTextView;
      ImageView messageImageView;
      TextView messageTextView;
      CircleImageView photoImageView;
  
      public MessageViewHolder(View itemView) {
          super(itemView);
  
          nameTextView = (TextView) itemView.findViewById(R.id.nameTextView);
          messageImageView = (ImageView) itemView.findViewById(R.id.messageImageView);
          messageTextView = (TextView) itemView.findViewById(R.id.messageTextView);
          photoImageView = (CircleImageView) itemView.findViewById(R.id.photoImageView);
      }
  }
  
  private RecyclerView mMessageRecyclerView;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference(); // Ph3 Chat DB
      mMessageEditText = (EditText) findViewById(R.id.message_edit); // Ph3 DB
  
      mMessageRecyclerView = (RecyclerView) findViewById(R.id.message_recycler_view);
  
      findViewById(R.id.send_button).setOnClickListener(new View.OnClickListener() { // Ph3 Chat DB
          @Override
          public void onClick(View v) {
              ChatMessage chatMessage = new ChatMessage(mMessageEditText.getText().toString(),
                      mUsername, mPhotoUrl, null);
              mFirebaseDatabaseReference.child(MESSAGES_CHILD)
                      .push()
                      .setValue(chatMessage);
              mMessageEditText.setText("");
          }
      });
  
      mGoogleApiClient = new GoogleApiClient.Builder(this) // Ph2 Log-out
              .enableAutoManage(this, this)
              .addApi(Auth.GOOGLE_SIGN_IN_API)
              .build();
  
      mFirebaseAuth = FirebaseAuth.getInstance();
      mFirebaseUser = mFirebaseAuth.getCurrentUser();
      if (mFirebaseUser == null) {
          startActivity(new Intent(this, SignInActivity.class));
          finish();
          return;
      } else {
          mUsername = mFirebaseUser.getDisplayName();
          if (mFirebaseUser.getPhotoUrl() != null ) {
              mPhotoUrl = mFirebaseUser.getPhotoUrl().toString();
          }
      }
  
      Query query = mFirebaseDatabaseReference.child(MESSAGES_CHILD); // Ph4 Reading chat
      FirebaseRecyclerOptions&lt;ChatMessage&gt; options = new FirebaseRecyclerOptions.Builder&lt;ChatMessage&gt;() //ph4
              .setQuery(query, ChatMessage.class)
              .build();
  
      mFirebaseAdapter = new FirebaseRecyclerAdapter&lt;ChatMessage, MessageViewHolder&gt;(options) { // Ph4 Reading chat
  
          @Override
          protected void onBindViewHolder(MessageViewHolder holder, int position, ChatMessage model) {
              holder.messageTextView.setText(model.getText());
              holder.nameTextView.setText(model.getName());
              if (model.getPhotoUrl() == null) {
                  holder.photoImageView.setImageDrawable(ContextCompat.getDrawable(MainActivity.this,
                          R.drawable.ic_account_circle_black_24dp));
              } else {
                  Glide.with(MainActivity.this)
                          .load(model.getPhotoUrl())
                          .into(holder.photoImageView);
              }
          }
  
          @Override
          public MessageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
              View view = LayoutInflater.from(parent.getContext())
                      .inflate(R.layout.item_message, parent, false);
              return new MessageViewHolder(view);
          }
  
          @Override
          protected void populateViewHolder(MessageViewHolder viewHolder, ChatMessage model, int position) {
  
          }
      };
  
      mMessageRecyclerView.setLayoutManager(new LinearLayoutManager(this)); // Ph4
      mMessageRecyclerView.setAdapter(mFirebaseAdapter); // Ph4
  }
  
  @Override
  protected void onStart() { // Ph4 Reading chat
      super.onStart();
      mFirebaseAdapter.startListening();
  }
  
  @Override
  protected void onStop() { // Ph4 Reading chat
      super.onStop();
      mFirebaseAdapter.stopListening();
  }
  
  @Override // Ph2 Log-out
  public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
  }
  
  @Override // Ph2 Log-out
  public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
          case R.id.sign_out_menu:
              mFirebaseAuth.signOut();
              Auth.GoogleSignInApi.signOut(mGoogleApiClient);
              mUsername = "";
              startActivity(new Intent(this, SignInActivity.class));
              finish();
              return true;
          default:
              return super.onOptionsItemSelected(item);
      }
   }
  }
  </code></pre>
  
  <ol start="2">
  <li>Below is build.gradle</li>
  </ol>
  
  <pre><code>    compile 'com.android.support:appcompat-v7:25.3.1'
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      compile 'com.android.support:recyclerview-v7:25.3.1'
      compile 'com.android.support.test:runner:0.5'
      compile 'de.hdodenhof:circleimageview:3.0.0'
      compile 'com.google.firebase:firebase-database:11.0.0'
      compile 'com.google.firebase:firebase-auth:11.0.0'
      testCompile 'junit:junit:4.12'
      compile 'com.google.android.gms:play-services-auth:11.0.0'
  
      compile 'com.firebaseui:firebase-ui-database:2.0.0'
  
      compile 'com.github.bumptech.glide:glide:4.6.0'
      annotationProcessor 'com.github.bumptech.glide:compiler:4.6.0'
  
  }
  apply plugin: 'com.google.gms.google-services'
  
  </code></pre>