Я хотел бы адаптировать идентификатор моего gridView к моему новому списку - PullRequest
0 голосов
/ 08 декабря 2018

Пожалуйста, мне нужна твоя помощь.Я использую следующий оператор для выбора некоторых данных из моей базы данных: Курсор курсора = getData ("SELECT * FROM MYDATABASE WHERE ITEMS =?", Новая строка [] {selectedItemText}); .Предположим, что в моей базе данных 20 предметов, и, используя мой предыдущий курсор, я выбрал 4 из них, соответственно, в позиции: 1, 8, 12 и 17, например.Затем я перечисляю все, что я выбрал из базы данных, используя gridView, так что у меня будет 4 элемента в моем списке (это хорошо работает, пока здесь).Предположим, я щелкнул один элемент из этих 4 (например, я щелкнул по одному элементу с id = 12 в моей базе данных, что означает третий (id = 3) в моем виде сетки.

gridViewItem.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,final int position, long id) {
            //get details 
            Cursor c = getData("SELECT id FROM MYDATABASE");
            ArrayList<Integer> arrID = new ArrayList<>();

            while (c.moveToNext())
            {
                arrID.add(c.getInt(0));
            }
            //call methode getParameters.
            getParameters(arrID.get(position));

        }
    });

с помощьюстрока: Курсор c = getData ("SELECT id FROM MYDATABASE"); , я получаю идентификатор моего selectedItem из gridView с 4 элементами. Я использую его в методе, вызывающем getParameters (arrID.get (position)) . Проблема в том, что курсор возвращает меня id = 3 (учитывая список gridView), но я хотел бы получить id = 12 (учитывая мою базу данных). Пожалуйста, как я могу получить ее?

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