首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Menu/Sub-Menu‘Title’不需要执行任何操作...当前正在刷新webview

Android Menu/Sub-Menu‘Title’不需要执行任何操作...当前正在刷新webview
EN

Stack Overflow用户
提问于 2011-12-01 10:30:50
回答 1查看 494关注 0票数 0

我正在尝试使用Android操作栏的子菜单功能,因为我还不能弄清楚微调器菜单。基本上,我想要的是让我当前的webview活动基于所选的菜单项打开一个新的URL。这很好用。问题是,当我单击父项目名称时,它会刷新当前的webview视图。应该没有活动,但我不确定如何指定。我的代码如下。有人能解释一下如何使父项(在下面的代码中注释)没有操作吗?谢谢

代码语言:javascript
复制
<item android:id="@+id/apps" android:title="Action" android:showAsAction="always"> //THIS IS SUPPOSED TO BE A DROP-DOWN MENU'S TITLE, AND SHOULD NOT PERFORM ANY ACTION, CURRENTLY REFRESHES CURRENT WEBVIEW VIEW.
<menu>
<item android:id="@+id/item1" android:title="Item 1"></item> //OPENS WEBVIEW URL
<item android:id="@+id/item2" android:title="Item 2"></item> //OPENS WEBVIEW URL
<item android:id="@+id/item3" android:title="Item 3"></item> //OPENS WEBVIEW URL
<item android:id="@+id/item4" android:title="Item 4"></item> //OPENS WEBVIEW URL
</menu>
</item>

以下是单击其中一个菜单项时执行的代码:

代码语言:javascript
复制
//NOTE THAT THERE IS NO CASE DECLARATION FOR - R.id.apps - maybe I need one?
        public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.item1:
            webview.loadUrl ("http://www.url1.com");
            return true;
        case R.id.item2:
            webview.loadUrl ("http://www.url2.com");
            return true;
        case R.id.item3:
            webview.loadUrl ("http://www.url3.com");
            return true;
        case R.id.item4:
            webview.loadUrl ("http://www.url4.com");
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2011-12-02 05:37:45

好了,我一直在打猎,终于找到了这个问题的答案。

为了简要说明我的问题所在,我创建了一个包含4个项目的菜单。这些项目中有2个包含子菜单。当点击这些子菜单的父项时,会刷新我当前的网页视图,这是一个问题。我希望这些父项在点击时不做任何事情(只打开子菜单)。修复方法如下:

代码语言:javascript
复制
//NOTE THAT THERE IS NO CASE DECLARATION FOR - R.id.apps - maybe I need one? -- ANSWER IS YES
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    // ADDING CASE DECLARATION FOR R.id.apps //
    case R.id.apps:
    { }
    return true;
    // END ADDING DECLARATION FOR R.id.apps //
    // NOTE: For a menu item that you wish to perform no action when selected, 
    case R.id.item1:
        webview.loadUrl ("http://www.url1.com");
        return true;
    case R.id.item2:
        webview.loadUrl ("http://www.url2.com");
        return true;
    case R.id.item3:
        webview.loadUrl ("http://www.url3.com");
        return true;
    case R.id.item4:
        webview.loadUrl ("http://www.url4.com");
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8335890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档