我是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);
}
Run Code Online (Sandbox Code Playgroud)
弹出窗口显示并包含serverconnection_fragment.xml中描述的UI.问题是通过这种方式创建,Fragment类ServerConnectionFragment.java永远不会被实例化,因此我的UI中的列表中没有项目,按钮上没有监听器,等等.似乎应该有一种方法让我实例化java类,让它正常膨胀片段并附加事件监听器,然后将创建的视图传递给PopupWindow构造函数,但我无法弄清楚如何.谁能帮我吗?
仅供参考,我正在使用Android-support-v4.jar文件为Fragment类构建Android 2.1.