我有一个关于dialogfragment的问题 - 我通过教程创建了一个带有dialogfragment的类,但在教程中,dialogfragment是通过单击按钮显示的 - 我想通过单击我的MainActivity中的fragment选项卡来显示dialogfragment - 我不能弄清楚如何..我有 Fragment GetItem 方法,其中我的代码中有空的 case 4 - 这是 fragment ,我想通过单击它来打开dialogfragment。这是我的代码。感谢您的所有帮助和解答!抱歉,如果有不清楚的地方..
-问题已修复(即评论)-我创建了新的 DialogFragment - xml 文件和 java 类 - 来自guides.codepath.com/android/Using-DialogFragment#build-dialog 的代码,然后我将此代码添加到 MainActivity
tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager) {
@Override
public void onTabSelected(TabLayout.Tab tab) {
super.onTabSelected(tab);
int position = tab.getPosition();
if (position == 4) {
showAlertDialog();
}
}
});
}
private void showAlertDialog() {
FragmentManager fm = getSupportFragmentManager();
EditNameDialogFragment alertDialog = EditNameDialogFragment.newInstance("Some title");
alertDialog.show(fm, "fragment_alert");
}
最佳答案
您可能想要检测单击了哪个选项卡并像其他任何选项卡一样显示对话框
您需要添加一个TabLayout.OnTabSelectedListener
设置
tabLayout.setupWithViewPager(mViewPager);
tabLayout.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager) {
@Override
public void onTabSelected(TabLayout.Tab tab) {
super.onTabSelected(tab);
int position = tab.getPosition();
if (position == 4) {
// Create MediaFragment here
}
}
});
关于java - 如何在fragment中实现dialogfragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46267304/