显示 android 个弹出列表视图

Showing android popout listView

我正在尝试实现类似于 facebook/twitter 的功能,当您添加“@”符号时会显示用户列表。我的问题是我不知道如何实现这种弹出或浮动视图。是对话框还是片段?

android 中有一个名为 ListPopUpWindow 的东西可以解决您的问题。我在下面给出了一个示例,例如如何启动它。创建您自己的列表适配器和行 xml 文件。然后像处理 android 中的普通列表一样将其传递给 popup.setAdapter。

 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)

这对我有用。如果有任何问题,请随时询问。谢谢