2011-12-01 60 views
0

我想使用Android操作栏的子菜单功能,因为我无法弄清楚微调基本上,我想要的是让我当前的webview活动基于菜单项选择打开一个新的URL。这很好。问题是,当我点击父项名称,刷新当前webview我们的代码如下:有人可以解释如何使父项(在下面的代码中注释)没有任何操作吗?谢谢安卓菜单/子菜单 - 菜单'标题'需要执行NO ACTIVITY ...当前刷新webview

<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> 

这是在菜单项之一时执行的代码被点击:

//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); 
     } 
    } 

回答

0

好吧,我打算终于找到了这个问题的答案。

作为我的问题是什么的简要说明,我创建了一个菜单,4项。其中2个项目包含子菜单。这些子菜单的父项在单击时刷新了我当前的webview,这是一个问题。我想让这些父项目在点击时不做任何事情(只打开子菜单)。这是修复:

//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); 
    } 
}