Я хотел бы получить всех пользователей из базы данных и найти пользователя по логину в списке.Я всегда получаю информацию, что мой фактический пользователь равен нулю.Я также пытаюсь показать Log.d ("msg", usr.getLogin ()), но это та же проблема.
У меня есть:
private List<User> users = new ArrayList<>();
private User actualUser;
//Init API
Retrofit retrofit = RetrofitClient.getInstance();
restAPI = retrofit.create(RESTAPInterface.class);
newDeviceAcceptButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//get user info
getAllUsers();
for(User usr: users){
if(UserCredentials.getInstance().getUsername().equals(usr.getLogin())) {
actualUser = new User(usr.getId(), usr.getLogin(), usr.getPassword());
Log.d("mojlogin", actualUser.getLogin());
break;
}
}
и
public void getAllUsers(){
compositeDisposable.add(restAPI.getUsers("Bearer " + TokenHolder.getInstance().getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<List<User>>() {
@Override
public void accept(List<User> users) throws Exception {
initializeUsers(users);
}
}));
}
и
public void initializeUsers(List<User> users){ this.users = users; }