Приложение аварийно завершает работу при попытке отобразить данные с помощью FirebaseUI RecylerView - PullRequest
0 голосов
/ 21 мая 2018

Приложение падает, когда я пытаюсь запустить этот код.Одна эта страница вызывает сбой.Помогите мне решить эту проблему: нет ошибки при компиляции, но запуск приложения завершился неудачей.

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.TextView;


import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.squareup.picasso.Picasso;

import de.hdodenhof.circleimageview.CircleImageView;

public class AllUsersActivity extends AppCompatActivity {
    private Toolbar mToolBar;
    private RecyclerView allUserList;
    private DatabaseReference allDatabaseUserReference;



    private FirebaseAuth mAuth;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
       // setContentView(.layout.activity_all_users);
        setSupportActionBar(mToolBar);
        getSupportActionBar().setTitle("All Users");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true );


      allUserList = (RecyclerView)findViewById(R.id.all_users_list);
        allUserList.setHasFixedSize(true);
        allUserList.setLayoutManager(new LinearLayoutManager(this));

        allDatabaseUserReference = FirebaseDatabase.getInstance().getReference().child("Users");
        allDatabaseUserReference.keepSynced(true );
     //   mAuth =FirebaseAuth.getInstance();

    }

    @Override
    protected void onStart() {
        super.onStart();

        FirebaseRecyclerAdapter<AllUsers,AllUsersViewHolder> firebaseRecyclerAdapter
        = new FirebaseRecyclerAdapter<AllUsers, AllUsersViewHolder>
                (
                      AllUsers.class,
                       R.layout.all_users_display_layout,
                          AllUsersViewHolder.class,
                        allDatabaseUserReference

                )
        {
            @Override
            protected void populateViewHolder(AllUsersViewHolder viewHolder, AllUsers model, int position)
            {
               viewHolder.setUser_name(model.getUser_name() );
             //  viewHolder.setUser_name(model.getUser_status());
           //     viewHolder.setUser_image(getApplicationContext(),model.getUser_image());
            }
        };
        allUserList.setAdapter(firebaseRecyclerAdapter);
    }

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

        private final TextView name;
        public AllUsersViewHolder(View itemView)
         {
            super(itemView );

             mView =itemView;
              name = (TextView) mView.findViewById(R.id.all_users_username);
        }

        public void setUser_name(String user_name)
        {

           // TextView name = (TextView) mView.findViewById(R.id.all_users_username);
            name.setText(user_name);

        }
       public void setUser_status (String user_status)
        {
            TextView status =(TextView) mView.findViewById(R.id.all_user_status);
            status.setText(user_status);
        }

    public void setUser_image(Context ctx,String user_image)
     {
         CircleImageView image =(CircleImageView) mView.findViewById(R.id.all_users_profile_image );
         Picasso.get().load(user_image).into(image);
     }
    }
}

Из документации FirebaseUI :

Если выотображая список данных, вы, вероятно, захотите связать объекты чата с RecyclerView.Это означает реализацию пользовательского RecyclerView.Adapter и координацию обновлений с ChildEventListener.

Не бойтесь, FirebaseUI сделает все это за вас автоматически!

...