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

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

1 ответ

Решение

Есть нечто, известное как ListPopUpWindow в Android, которое может решить вашу проблему. Ниже приведен пример того, как вы можете его инициировать. Создайте свой собственный 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();
            }
        }

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

initiatePopupWindow(yourOwnView)

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

Другие вопросы по тегам