2012-10-26 74 views
0

我正在開發一個應用程序,最初加載onPostExecute內的項目的列表視圖。在選擇項目後,在webview上打開更完整的細節(仍在onPostExeceute中)沒有問題。但是,在webview中點擊goback按鈕只會退出整個應用程序。在webview上的後退按鈕退出應用程序,而不是顯示以前的列表視圖結果

能有人幫。

事件的方案因此是 活動創建建立網絡廣播 - > onStart - > AsyncTask - >檢索數據 - > onPostExecute - > setContentView(ListView) - > onClickListener - > WebView - > goback按鈕,然後退出整個應用程序。

我確定有人可以幫助我,我真的很感激任何努力。

Regards

+0

是webview的一個單獨的活動,或者你再次調用setContentView?如果你正在調用setContentView,它退出的原因是沒有一堆contentviews。如果您沒有其他活動要返回,如果所有活動仍處於同一活動狀態,則後退按鈕退出 – toadzky

+0

,您如何期望它知道該怎麼做? – njzk2

回答

1

此行爲很正常。 onBackPressed()事件在您的活動中調用finish()方法,並將您返回到剛開始的位置。

你還是要抓住這個事件,並告訴您的應用程序如何在做的可能性下一

0

在Android上的返回鍵的默認行爲是返回以前的活動,或者如果你已經在根活動,退出應用程序。這聽起來像你的WebView與你的ListView位於同一個Activity中,所以當你點擊「後退」鍵時,應用程序正在退出,因爲沒有以前的活動返回。

一個解決方案是創建一個新的活動來顯示WebView並傳入要顯示的數據。隨着WebView被加載到一個單獨的Activity中,按下「返回」按鈕將完成WebView活動,使您回到列表中。您還可以通過這種方式獲得屏幕轉換的額外好處。

另一種解決方案是重寫ListView活動中的onKeyUp方法,並手動處理後退鍵的按下。 (我個人推薦onKeyUp而不是onKeyDown,因爲這樣可以更輕鬆地按這種方式處理長時間按壓)捕獲事件並取消單擊列表中的項目時所做的任何操作。

+0

謝謝。我現在通過創建另一個活動來處理web視圖顯示。這樣可以正確使用goBack。 –

相關問題