Android 主题影响代码功能?

Android 主题影响代码功能?,android,android-layout,android-theme,Android,Android Layout,Android Theme,将主题应用于活动是否会影响代码功能?我的印象是风格/主题只会影响外观 我有一个从数据库中填充的listfragment,底部有一个按钮,按下该按钮后,将启动一个新的活动,允许您编辑或添加到列表/数据库中 Intent i = new Intent(getActivity(), Activity2.class); startActivityForResult(i, ACTIVITY_EDIT); 第二个活动按照它应该的方式工作,当退出到listfragment时,所述列表被更新,新项目出现在列表

将主题应用于活动是否会影响代码功能?我的印象是风格/主题只会影响外观

我有一个从数据库中填充的listfragment,底部有一个按钮,按下该按钮后,将启动一个新的活动,允许您编辑或添加到列表/数据库中

Intent i = new Intent(getActivity(), Activity2.class);
startActivityForResult(i, ACTIVITY_EDIT);
第二个活动按照它应该的方式工作,当退出到listfragment时,所述列表被更新,新项目出现在列表中

这是我开始有问题的地方

由于第二个活动只是一个TextView、EditText和两个按钮,我想我应该使用对话框主题来防止它不必要地占据整个平板电脑屏幕。从清单文件:

<activity android:name="Activity2" android:theme="@android:style/Theme.Dialog" />
就活动的外观而言,这确实实现了我所期望的结果,但在退出活动2时,listfragment中的列表不会重新生成/显示。对DB的添加正在完成,正如我在重新启动应用程序时看到的那样,我之前添加的项目终于出现了

上述添加到清单中是唯一的更改


您对为什么会发生这种情况以及如何停止有何想法?

启动对话框时,您的第一个活动不会停止并重新启动,而是在启动全屏活动时。在对话框活动完成后,尝试调用列表适配器。

或者您可以在onResume中添加代码以刷新它。当它调用对话框时,它会调用onPause,然后在对话框退出时调用onResume。

这解决了问题,非常感谢!但是,我仍然不明白为什么将对话主题应用于活动会导致从一个活动转到另一个活动的行为发生变化。也许这只是我不得不考虑的事情之一