如何在自定义对话框片段(Android)中的布局之间切换

时间:2017-02-05 16:57:52

标签: java android android-dialogfragment

我想知道如何在不创建单独的对话框的情况下切换对话框布局文件。

我有一个自定义对话框片段,用于连接我的应用中的蓝牙设备。它弹出一个设备列表,然后连接到我选择的设备。

我想在这个对话框片段中使用两个xml布局:   - 第一个包含我想要连接的设备的列表视图   - 其他房屋和图像视图

当我连接到设备时,我想将列表从列表切换到包含imageview的布局。在我的代码中,我有一个检查连接状态的变量。

如果我已连接,我会切换到其他布局:

getDialog().setContentView(R.layout.xml2);

它可以工作,但是当我想再次显示对话框时,我收到了这个错误。

Attempt to invoke virtual method 'void android.app.Dialog.setContentView(int)' on a null object reference

在我的onCreateView方法中,我检查了我的连接状态。

if (connected) {

   return inflater.inflate(R.layout.xml2, container, false);

 } else {

   return inflater.inflate(R.layout.xml1, container, false);
 }

我知道错误与更改getDialog()。setContentView时状态更改为已连接有关。我正在考虑如何恢复到关闭的默认视图,以便onCreateView生效。如果有另一种方法可以做到这一点,我想听听它。任何想法?

提前致谢...

1 个答案:

答案 0 :(得分:0)

您的getDialog()方法返回null。你可能想看看它。