显示android popout listView

时间:2015-05-06 04:45:11

标签: android listview android-fragments mention

我正在尝试实现类似于facebook / twitter功能的东西,当你添加" @"时会显示一个用户列表。标志。我的问题是我不知道如何实现这种弹出或浮动视图。是对话还是片段?

enter image description here

1 个答案:

答案 0 :(得分: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)

这对我有用。如有任何问题请随时提出。感谢。