2012-07-06 20 views
-1

我從activityA調用activityB上的方法。 方法從A正確調用到B,但是當我在它內部執行webviewB.loadUrl(myUrl)時,應用程序崩潰爲nullpointerexception。相同的webviewB方法,如果從activityB執行,則正常工作。可能是因爲上下文,當從A調用到B時必須設置,但怎麼做?哪種做法最好?謝謝。android執行另一個活動的方法

ActivityA(tabHost)和ActivityB(tabcontent)被正確初始化,ActivityB的webview顯示URL1。 然後,當ActivityA的evet被收回時,我需要從ActivityB的webview上加載URL2。

編輯: 當ActivityA被接收的事件,

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

ActivityB,

@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); 

} 
+1

這裏webviewB爲null ..as webviewB是在layoutB xml中,它是在onCreate()初始化/充氣。所以你無法做到這一點...嘗試一些不同的認可 – 2012-07-06 16:09:20

+0

我知道我不能!這就是爲什麼我要求「不同的批准」 – Jaume 2012-07-06 16:20:24

+0

爲什麼你需要加載ActivityB的webview?..爲什麼不把webview放在ActivityA – 2012-07-06 16:29:36

回答

0

由Ortisi建議要麼意圖。或者你爲什麼不嘗試創建一個類,在這個類中創建該方法,並從這兩個活動中調用該方法。

+0

對不起,但我不看看我現在在做什麼有什麼不同,你可以更好地解釋一下嗎? – Jaume 2012-07-06 16:19:24

+0

是的,爲什麼不呢,我很想發佈一個詳細的方法,但爲此請包括你的方法代碼,並在你的問題需要。 – AAnkit 2012-07-06 16:33:09

+0

我試圖做到具體而明確。請參閱我的編輯。我非常感謝你的幫助 – Jaume 2012-07-06 17:05:04

相關問題