Android:如何修改主活动中从另一个活动创建的WebView

时间:2016-10-13 11:10:27

标签: android webview

我在主要活动中创建了一个Webview,并加载了相关的html文件。当我点击设置图标时,我启动另一个活动(SettingsActivity),我希望能够从SettingsActivity更改WebView。

EG。在我的SettingsActivity中,我想更改字体大小或对其执行任何操作:

MainActivity mActivity= new MainActivity();

mActivity.myWebView.getSettings().setDefaultFontSize(8);

在这种情况下,我得到一个空指针异常。那么如何访问/将我的活动中创建的webView数据传递给另一个。

谢谢, 马特

2 个答案:

答案 0 :(得分:0)

在您的情况下,您应该在启动startActivityForResult()时运行SettingsActivity,并通过返回Intent发送捆绑的更改数据。阅读涵盖活动之间双向沟通的官方docs

答案 1 :(得分:0)

您可以通过以下方法实现此目的: 1.您可以在onActivityResult上使用更改webView设置,方法是将活动设置为startActivityforResult并传递设置活动的结果。

  1. 您可以创建ResultReciever并将对Intent的引用传递给startActivity,并使用Bundle将消息从设置活动传递到MainActivity。请在Android中使用ResultReciever。

  2. 您可以创建静态变量或共享首选项,并将其视为更新webview的信号,并在完成SettingActivity后在onResume方法内再次恢复MainActivity时进行更改。

  3. 您可以在MainActivity中注册自定义广播,并从SettingActivity发送广播到更新webView。