как пользоваться адаптером - PullRequest
0 голосов
/ 03 марта 2020

Я использую навигационный ящик и у меня есть два меню, в одном из которых я поместил ListView, который я хочу заполнить через адаптер, но приложение не работает.

ListView находится в frag_home. xml, и заполнение адаптера происходит в MainActivity, но я предполагаю, что оно должно быть заполнено в другом месте.

Если я помещаю ListView в activity_main. xml, тогда приложение запускается, но список отображается во всех меню.

enter image description here

Скажите, в каком файле мне нужно разместить код адаптера?

Этот код размещен в MainActivity

 // начальная инициализация списка
        setInitialData();
        // получаем элемент ListView
        countriesList = (ListView) findViewById(R.id.countriesList);
        // создаем адаптер
        ContainerAdapter stateAdapter = new ContainerAdapter(this, R.layout.list_item_container, states);
        // устанавливаем адаптер
        countriesList.setAdapter(stateAdapter);
        // слушатель выбора в списке
        AdapterView.OnItemClickListener itemListener = new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

                // получаем выбранный пункт
                Container selectedState = (Container)parent.getItemAtPosition(position);
                Toast.makeText(getApplicationContext(), "Был выбран пункт " + selectedState.getName(),
                        Toast.LENGTH_SHORT).show();
            }
        };
        countriesList.setOnItemClickListener(itemListener);

1 Ответ

0 голосов
/ 03 марта 2020

Больше не актуально. нашел решение

этот код должен быть размещен в HomeFragment

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