Отображение всплывающего списка 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)
Это работает для меня. Если возникнут проблемы, не стесняйтесь спрашивать. Благодарю.