Отображение всплывающего списка androidView

Я пытаюсь реализовать что-то похожее на функцию facebook/twitter, которая показывает список пользователей, когда вы добавляете знак «@». Моя проблема в том, что я не знаю, как реализовать такое всплывающее или плавающее представление. это диалог или фрагмент?

введите здесь описание изображения


person Tixeon    schedule 06.05.2015    source источник
comment
Автозаполнение текста - ваш ответ. проверьте ссылку stackoverflow.com/a/12795851/1061944   -  person Murtaza Khursheed Hussain    schedule 06.05.2015
comment
Спасибо @MurtazaKhursheedHussain. Я проверил вашу ссылку, но я не думаю, что AutoCompleteTextView - это то, что я ищу. Потому что у него есть предустановленные данные. Пожалуйста, посмотрите фото, которое я добавил в вопросе. Спасибо   -  person Tixeon    schedule 06.05.2015
comment
Вы всегда можете добавлять данные динамически. Это был пример реализации   -  person Murtaza Khursheed Hussain    schedule 06.05.2015


Ответы (1)


В Android есть нечто известное как ListPopUpWindow, которое может решить вашу проблему. Ниже я привел пример того, как вы можете его инициировать. Создайте свой собственный listadapter и XML-файл строки. Затем передайте его в popup.setAdapter, как вы обрабатываете обычный список в Android.

 private void initiatePopupWindow(View anchor) {
            try {
                Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
                ListPopupWindow popup = new ListPopupWindow(this);
                popup.setAnchorView(anchor);
                popup.setWidth((int) (display.getWidth()/(1.5)));

                popup.setAdapter(new CustomAdapterForService(getApplicationContext(), R.layout.rowforservice, listCity));
                popup.setOnItemClickListener(new OnItemClickListener() {

                @Override
               public void onItemClick(AdapterView<?> arg0, View view, int position, long id3) {
              //do what you need to do when you click on a popup list item
                }
                 });
                popup.show();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }

Наконец, откуда каждый вам нужно позвонить, вызовите его с помощью Anchor. Якорь — это представление, может быть кнопка, изображение или что-то еще, откуда вам нужно открыть список. Именно так.

initiatePopupWindow(yourOwnView)

Это работает для меня. Если возникнут какие-либо проблемы, не стесняйтесь спрашивать. Спасибо.

person Shaik MD Ashiq    schedule 06.05.2015
comment
Спасибо, это именно то, что я ищу. Вы спасаете мой день - person Tixeon; 06.05.2015
comment
Привет. Я использую этот код, но прослушиватель кликов по элементам у меня не работает. - person Death14Stroke; 25.11.2019