2012-01-18 68 views
1

将某个主题应用于活动会有什么原因会影响代码功能吗?我的印象是风格/主题只影响外观...影响代码功能的主题?

我有一个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列表中没有再生结果/重新显示。添加到数据库的工作已经完成,正如我所看到的,当我重新启动应用程序时,我以前添加的项目终于出现了。

上面的清单除了是唯一的改变。

有关为什么会发生这种情况以及如何阻止它的任何想法?

回答

0

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

+0

这解决了这个问题,非常感谢!但是,我仍然不明白为什么将对话主题应用到活动中会导致从一个活动转到另一个活动的行为发生变化。可能只是我不得不想知道的其中一件事。 :) – Barak 2012-01-19 07:44:26

0

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