Android Studio - щелкните элемент в списке, чтобы получить значение из этой позиции - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь быть в состоянии щелкнуть по элементу в виде списка, получить значение stopIdRoutes (String) и передать его другому намерению.

Значения помещаются в HashMap перед помещением в список.

Я пытался использовать listview.getItemAtPosition(position);, но это просто выдает ошибку: java.util.HashMap cannot be cast to ie.*.student.*.dublinbuses.getStopId.

Как я могу исправить это.Я попробовал некоторые решения здесь, и они не помогли в этой ситуации.

Я также создал класс getStopId.

Кроме того, stopIdRoutes, который отправляется следующему намерениюпоследний идентификатор остановки в списке.

Мой код:

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            Intent i = new Intent(getApplicationContext(), StopIdResultsActivity.class);

            getStopId getstopid_fromclass = (getStopId)lv.getItemAtPosition(position);
            Log.i("Item", "Selected: " + getstopid_fromclass.getStopid());

            //Create the bundle
            Bundle bundle = new Bundle();

            //Add your data to bundle
            bundle.putString("stopid", stopidRoutes);

            //Add the bundle to the intent
            i.putExtras(bundle);

            //Fire that second activity
            startActivity(i);
        }

    });

1 Ответ

0 голосов
/ 20 декабря 2018
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            Intent i = new Intent(getApplicationContext(), StopIdResultsActivity.class);

            GetStopId getstopid_fromclass = list[position];


            //Create the bundle
            Bundle bundle = new Bundle();

            //Add your data to bundle
            bundle.putString("stopid", getstopid_fromclass.getStopid());

            //Add the bundle to the intent
            i.putExtras(bundle);

            //Fire that second activity
            startActivity(i);
        }

    })

и в других действиях получите его как: -

String stopID = getIntent().getExtras().getString("stopid");

Попробуйте использовать это, если ошибка все еще появляется, дайте мне знать об ошибке

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