Нужно получить элемент из списка, с пользовательским адаптером и контекстным меню - PullRequest
0 голосов
/ 06 июня 2018

Мне нужно получить, например, второго пациента в списке, это всегда первая позиция, а мой int всегда равен 0, нет способа получить реальную позицию, когда я нажимаю на любую позицию, вот мой код:

public void setupGUI() {
    listView = findViewById(R.id.listView);
    if (getIntent().getParcelableExtra(Constants.PARCELABLE_TAG) != null) {
        user = getIntent().getParcelableExtra(Constants.PARCELABLE_TAG);
        GetDoctor gd = new GetDoctor(DoctorMenu.this, user.getId(), user.getToken());
        gd.execute();


        if (user != null) {
            userToken = user.getToken();
            FillPatientsTask fpt = new FillPatientsTask(DoctorMenu.this, this, userToken, null);
            fpt.execute();

        } else {
            userToken = "";
            Toast.makeText(this, "User was null", Toast.LENGTH_SHORT).show();
        }
    }
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            numberPatient = position;
        }
    });
    registerForContextMenu(listView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
                                ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    AdapterView.AdapterContextMenuInfo info =
            (AdapterView.AdapterContextMenuInfo) menuInfo;

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.options_patient_menu, menu);
    patient = items.get(numberPatient);
}

1 Ответ

0 голосов
/ 06 июня 2018

Всегда будет zero, почему коллекции начинаются с первой позиции как 0 position.Для вашего случая попробуйте следующее:

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