簡體   English   中英

按下“片段后退”按鈕中的WebView會殺死我的應用程序

[英]WebView in Fragment Back button kills my app when pressed

我開發了一個用於在線游戲的Wiki,並且一切都可以在我的應用程序上正常運行,但是當我按下后退按鈕應用程序被殺死時,存在一個小問題。

我的應用程序具有帶有片段的導航抽屜,當按下菜單時,它會加載一個片段,並立即顯示一個Web視圖,在Web視圖中,使用DreamWeaver生成的Jquery網頁,一切都很好,但是當用戶按BACK按鈕時,我希望片段為重新加載(返回所選菜單)

示例->打開菜單->單擊“英雄”->加載片段-> Webview加載->顯示的HTML菜單->用戶按后退按鈕->片段重新加載->加載Web視圖->加載HTML菜單。

我不知道即時通訊是否能給您一個很好的榜樣,對不起,謝謝您閱讀本文。

片段代碼:

public class HeroesFragment extends Fragment {

    public HeroesFragment() {
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.heroes, container, false);
        WebView heroespage = (WebView) rootView.findViewById(R.id.heroeswiki);
        WebSettings webSettings = heroespage.getSettings();
        webSettings.setJavaScriptEnabled(true);
        heroespage.loadUrl("file:///android_asset/heroes/index.html");

        return rootView;
    }

}

我嘗試了幾種沒有成功的解決方案,例如:

public void onBackPressed () {
    if(wb != null) {
        if(wb.canGoBack()) {
             wb.goBack();
        } else {
             setContentView(R.layout.main);
             wb = null;
        }
    } else {
        super.onBackPressed();
    }
}

super.onBackPressed和@Override上的此solutiongivme錯誤也給我一些錯誤。

再一次感謝你

由於您處於Fragment中,因此您不會得到OnBackPressed重寫的簡單方法是使用以下代碼

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                if(wb.canGoBack()) {
                    wb.goBack();
               } else {
                  setContentView(R.layout.main);
                  wb = null;
               }                
                return true;
            }

        }
        return super.onKeyDown(keyCode, event);
    }

@Bhavik,您能否在這里給出較長的答案,因為我堅持使用此方法,無法解決它。 我在setContentView和super.onKeyDown上也遇到了錯誤。同樣,我在onKeyDown上也遇到了問題,Android Studio表示不需要覆蓋?!? 我的Android Studio出了點問題或什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM