Web视图菜单在错误的时间显示

时间:2012-02-28 16:06:56

标签: android android-layout webview android-menu android-inflate

我创建了一个webview并且工作正常。菜单显示但不在Web视图运行时显示。我想我需要在创建Web视图的其他函数中嵌套OnCreateOptionsMenu()函数。这样做了吗?我对么?我该怎么做?

按下菜单按钮并显示Web视图时,显示我的菜单。 当显示Web视图并按下菜单按钮时,它将显示androids defaut菜单。

public class WebViewActivity extends Activity {

    WebView mWebView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        final Activity mActivity = this;
        super.onCreate(savedInstanceState);

        this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.main);
        // SETS DEFAULT MODE TO LANDSCAPE
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        // Makes Progress bar Visible
        getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
            Window.PROGRESS_VISIBILITY_ON);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://Google.com");

        mWebView.setWebChromeClient(new WebChromeClient() {

        public void onProgressChanged(WebView view, int progress) {
            mActivity.setTitle("Google.com");
            mActivity.setProgress(progress * 100);

            }

        });

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.mymenu, menu);
       return true;
    }

    }

1 个答案:

答案 0 :(得分:1)

我认为您可能需要拥有自己的onKeyDown事件处理程序,并在那里拦截Menu按钮。否则它会被webview消耗掉。我只是猜测。