Mam problem z wyświetleniem roli tzn wyświetla mi się tylko id roli. Mam dwie tabele users i roles. Pobieram użytkowników do listy i tak samo robię z rolami ale nie mam pojęcia jak zrobić żeby zamiast id była rola.
Z góry dziękuję za chęci pomocy.
Pozdrawiam
UsersAdapter
public class UsersAdapter extends RecyclerView.Adapter<UsersAdapter.UsersViewHolder> {
private Context mCtx;
private List<User> userList;
public UsersAdapter(Context mCtx, List<User> userList) {
this.mCtx = mCtx;
this.userList = userList;
}
@NonNull
@Override
public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
View view = LayoutInflater.from(mCtx).inflate(R.layout.recyclerview_users, parent, false);
return new UsersViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull UsersViewHolder holder, int position) {
final User user = userList.get(position);
holder.textViewFirstName.setText("Imię: "+ user.getfirst_name());
holder.textViewLastName.setText("Nazwisko: "+user.getlast_name());
holder.textViewEmail.setText("E-mail: "+user.getemail());
holder.textViewRole.setText("Rola: "+user.getRoleString());
holder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mCtx, UserInformationActivity.class);
intent.putExtra("userFirstName", user.getfirst_name());
intent.putExtra("userLastName", user.getlast_name());
intent.putExtra("userEmail", user.getemail());
intent.putExtra("userRole", user.getRoleString());
intent.putExtra("userId", user.getUserIdString());
mCtx.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return userList.size();
}
class UsersViewHolder extends RecyclerView.ViewHolder {
TextView textViewFirstName, textViewLastName, textViewEmail, textViewRole;
RelativeLayout parentLayout;
public UsersViewHolder(View itemView) {
super(itemView);
textViewFirstName = itemView.findViewById(R.id.textViewFirstName);
textViewLastName = itemView.findViewById(R.id.textViewLastName);
textViewEmail = itemView.findViewById(R.id.textViewEmail);
textViewRole = itemView.findViewById(R.id.textViewRole);
parentLayout = itemView.findViewById(R.id.recycler_view_users);
}
}
}
AllUsersActivity
public class AllUsersActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private RelativeLayout layout;
private UsersAdapter adapter;
private List<User> userList;
@Override
protected void onStart() {
super.onStart();
if(!SharedPrefManager.getInstance(this).isLoggedIn()){
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_users);
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
Call<UsersResponse> call = RetrofitClient.getInstance().getApi().getAllUsers();
call.enqueue(new Callback<UsersResponse>() {
@Override
public void onResponse(Call<UsersResponse> call, Response<UsersResponse> response) {
userList = response.body().getAllUsers();
adapter = new UsersAdapter(getApplicationContext(), userList);
recyclerView.setAdapter(adapter);
}
@Override
public void onFailure(Call<UsersResponse> call, Throwable t) {
}
});
}
}
RolesResponse
public class RolesResponse {
private boolean error;
private List<Role> allRoles;
public RolesResponse(boolean error, List<Role> allRoles) {
this.error = error;
this.allRoles = allRoles;
}
public boolean isError() {
return error;
}
public List<Role> getAllRoles() {
return allRoles;
}
}
Role
public class Role {
private int roles_id;
private String role;
public Role(int roles_id, String role) {
this.roles_id = roles_id;
this.role = role;
}
public int getrolesId() {
return roles_id;
}
public String getrole() {
return role;
}
public String getrolesIdString() {
return Integer.toString(roles_id);
}
}
User
public class User {
private int users_id, roles;
private String first_name, last_name, email;
public User(int users_id, String first_name, String last_name, String email, int roles) {
this.first_name = first_name;
this.last_name = last_name;
this.users_id = users_id;
this.email = email;
this.roles = roles;
}
public int getusers_id() {
return users_id;
}
public String getfirst_name() {
return first_name;
}
public String getlast_name() {
return last_name;
}
public String getemail() {
return email;
}
public int getroles() {
return roles;
}
public String getRoleString() {
return Integer.toString(roles);
}
public String getUserIdString() {
return Integer.toString(users_id);
}
}
UsersResonse
public class UsersResponse {
private boolean error;
private List<User> allUsers;
public UsersResponse(boolean error, List<User> allUsers) {
this.error = error;
this.allUsers = allUsers;
}
public boolean isError() {
return error;
}
public List<User> getAllUsers() {
return allUsers;
}
}