Я новичок в разработке Android и смущен тем, как выполнить то, что я пытаюсь сделать. Я кое-что прочитал и узнал об фрагментах, чтобы я мог делиться макетом и кодом между различными проектами размера экрана. У меня появилось несколько фрагментов и они успешно их использовали. Но у меня возникла ситуация, когда я хочу показать фрагмент в обычной деятельности на телефоне, но хочу показать фрагмент в PopupWindow (или что-то подобное, если это лучший выбор) на планшете.
Мне удалось выяснить, как раздуть фрагмент и отобразить его в PopupWindow при нажатии кнопки. Мой код выглядит следующим образом:
public void onClick(View v) {
LayoutInflater inflater = (LayoutInflater) BrowsingActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View popupLayout = inflater.inflate(R.layout.serverconnection_fragment, null, false);
connectionListPopup = new PopupWindow(popupLayout, 300, 470, true);
connectionListPopup.showAtLocation(BrowsingActivity.this.findViewById(R.id.connectionListImage), Gravity.CENTER, 0, 0);
}
Появится всплывающее окно и содержит пользовательский интерфейс, описанный в файле serverconnection_fragment.xml. Проблема в том, что создавая его таким образом, класс Fragment ServerConnectionFragment.java никогда не создается, поэтому в моем пользовательском интерфейсе нет элементов, нет прослушивателей на кнопках и т.д. Похоже, что мне нужно создать экземпляр класса java, повредить его и подключить прослушиватели событий, а затем передать представление, созданное в конструктор PopupWindow, но я не могу понять, как это сделать. Может ли кто-нибудь помочь мне?
FYI, я создаю это для Android 2.1, используя файл Android-support-v4.jar для классов Fragment.