-1

我正在从activityA 调用activityB 上的方法。方法被正确地从 A 调用到 B,但是当我在其中执行 webviewB.loadUrl(myUrl) 时,应用程序因空指针异常而崩溃。相同的 webviewB 方法,如果从 activityB 执行,则可以正常工作。可能是因为上下文,当从 A 调用到 B 时必须设置,但是如何?最好的方法是什么?谢谢你。

ActivityA (tabHost) 和 ActivityB (tabcontent) 已正确初始化,来自 ActivityB 的 webview 显示 URL1。然后,当收到来自 ActivityA 的事件时,我需要在 ActivityB 的 webview 上加载 URL2。

编辑:当在 ActivityA 上收到事件时,

 ActivityB test = new ActivityB();
 test.recalcula();

活动B,

@Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        setContentView(R.layout.vistaaib); 

        webviewB = (WebView) findViewById(R.id.webviewB);


            webviewB.loadUrl(URL1);

...


public void recalcula (){


        webviewB.loadUrl(URL2);

}
4

2 回答 2

0

在活动之间进行通信的最佳方式是使用 Intent 机制。因此,只需从 activityA 启动一个意图,以便与 activityB 通信它的 loadUrl 方法应该运行。

或者对于其他解决方案,您可以阅读以下问题: Best way to complete inter-activity communication in an Android TabHost application

于 2012-07-06T16:07:31.560 回答
0

Ortisi 建议的任何意图。或者你为什么不尝试创建一个类,在这个类中创建那个方法,然后从两个活动中调用那个方法。

于 2012-07-06T16:13:43.620 回答