如何给Android菜单提供onclick事件?

时间:2014-03-04 16:09:44

标签: android android-layout android-intent menuitem

我使用webview创建了Android应用程序并添加了菜单。

In main.xml code

<item android:id="@+id/interview_tips" android:title="@string/interview_tips"></item>
<item android:id="@+id/interview_tips" android:title="@string/interview_tips"></item>
<item android:id="@+id/career_trend" android:title="@string/career_trend"></item>
<item android:id="@+id/video_hub" android:title="@string/video_hub"></item>

给了我下面图片的菜单。

  

当我点击任何菜单时,我想在同一个网页浏览中打开一个网址,我该怎么做

我试过这样不行的

    //menu click event
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle item selection
            switch (item.getItemId()) {
            case R.id.action_settings:
            if (item.isChecked()) item.setChecked(false);
            else item.setChecked(true);
            mWebView.loadUrl("http://www.google.com");            
            return true;            
        case R.id.career_trend:
            if (item.isChecked()) item.setChecked(false);
            else item.setChecked(true);
            mWebView.loadUrl("http://www.google.com");        
            return true;
        default:
            return super.onOptionsItemSelected(item);
}
}

我有点新的android请给我任何链接,教程? enter image description here

2 个答案:

答案 0 :(得分:1)

如果使用菜单,请使用onOptionItemSelected

另请查看Menus guideExample : How to use menus.

使用 WebView 必需的 INTERNET 权限,将以下内容添加到AndroidManifest.xml中。

<uses-permission android:name="android.permission.INTERNET" />

您也可以尝试启用webview JS。

    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("http://www.google.com");

更新

首先改变你的代码

//menu click event
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
        case R.id.action_settings:
            mWebView.loadUrl("http://www.google.com");

        case R.id.career_trend:
            mWebView.loadUrl("http://www.google.com");
        }
        return true;
    }

//menu click event
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
        case R.id.action_settings:
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("http://www.google.com");
        return true; 
        case R.id.career_trend:
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("http://www.google.com");
        return true;
        }
        return true;
    }

次要 - 确保您的网页视图出现在屏幕上。我的意思是可见......

第三次 - 检查清单文件中的INTERNET PERMISSION。

最后! - 确保菜单点击监听器正常工作。只需将Log放入onOptionItemSelected方法并检查他是否已打印。

另请参阅 WEB VIEW示例http://www.mkyong.com/android/android-webview-example/

答案 1 :(得分:0)

String [] mListOfUrls = {“http://google.com”,“http://go.com”,“http://gle.com”};

public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
   Log.wtf("URL", mListOfUrls[pos]);
   webView.loadUrl(mListOfUrls[pos]); 
}

参考:Spinner Tutorial

参考:Spinner methods

http://www.mkyong.com/android/android-spinner-drop-down-list-example/