我想像Fragment
那样制作AlertDialog
弹出框,但背景透明。
我的片段看起来像这样:
目前我正在做以下事情:
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Player player = (Player)adapterView.getItemAtPosition(i);
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(PlayerProfileFragment.newInstance(null), null);
fragmentTransaction.commit();
}
该片段根本没有显示。我想为了使它工作,我应该使用重载add(layoutId, fragment)
,但这只会将片段放在特定区域,而不是将片段显示为&#34;弹出&#34;。
有什么想法吗?
答案 0 :(得分:1)
Fragment
可能无法显示,因为您没有指定要将其添加到哪个布局。您正在使用的add()
版本会将Fragment
添加到ID为0的容器中。
答案 1 :(得分:0)
我通过使用以下方法创建接口来修复此问题:
public void addFragment(int viewId, Fragment fragment);
然后我在我的Activity中实现了该监听器,其中包含FragmentTransaction
:
public void addFragment(int viewId, Fragment fragment){
FragmentTransaction fragmentTransaction = getSupportFragmentTransaction().beginTran....;
fragmentTransaction.add(viewId, fragment);
fragmentTransaction.commit();
}