Как получить данные конкретного пользователя из базы данных - PullRequest
0 голосов
/ 15 декабря 2018

Я работаю над приложением чата, и в нем есть RecyclerView, в котором есть username, userstatus и userimage.

Когда я нажимаю на RecyclerView, он открывает действие профиля и показывает мне username, userstatus и userimage.Я могу получить эту информацию из RecyclerView, используя putExtra(), но я хочу получить ее непосредственно из базы данных.

Если я позвоню пользователю из SharedPrefManager, он получит только имя моего профиля, но недругие.Как мне этого добиться?Может быть, есть способ получить пользователя из RecyclerView?

Я использовал Google для поиска решения своей проблемы, но не нашел ничего полезного.

Здесь, как вы видите, я добавляю дополнительную информацию к своему намерению:

class UsersViewHolder extends RecyclerView.ViewHolder{
        TextView textViewName, textViewEmail;
        public Context context;
        de.hdodenhof.circleimageview.CircleImageView imageView;
        public UsersViewHolder(final View itemView, final Context context) {
            super(itemView);
            this.context = context;
            textViewName = itemView.findViewById(R.id.all_users_username);
            textViewEmail = itemView.findViewById(R.id.all_users_status);
            imageView = itemView.findViewById(R.id.all_users_profile_image);

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    int pos = getAdapterPosition();
                    int userid = SharedPrefManager.getInstance(mCtx).getUser().getId();

                    if(pos != RecyclerView.NO_POSITION){
                        User clickedDataItem = userList.get(pos);
                        Toast.makeText(v.getContext(), "You clicked " + clickedDataItem.getName(), Toast.LENGTH_SHORT).show();
                    }
                    String name = textViewName.getText().toString().trim();
                    String email = textViewEmail.getText().toString().trim();
                    Intent profileIntent = new Intent(v.getContext(), ProfileActivity.class);
                    profileIntent.putExtra("name",name);
                    profileIntent.putExtra("email", email);
                    profileIntent.putExtra("id",userid);
                    v.getContext().startActivity(profileIntent);
                }
            });
        }
    }

И в следующем упражнении я получаю это:

Intent intent = getIntent();
        String name = intent.getExtras().getString("name");
        String email = intent.getExtras().getString("email");
        int userid  = intent.getExtras().getInt("id");
    ProfileName.setText(name);
        ProfileStatus.setText(email);

Все работает отлично, кроме идентификатора пользователя, он выдает ошибку, если я хочу показать идентификатор пользователя, которого щелкнули пользователь, в сообщении тоста.Я делаю что-то неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...