2015-11-07 88 views
0

后再点击:操作栏选项行动

Before Clicking

点击后:

After clicking

我有我的代码,其中点击一个动作条的行动将弹出标题的问题的行动。如果你再点击标题,你就可以看到onclick监听器。很奇怪......我知道很难说没有代码,但我很快就会发布。只是想问问周围有没有人经历过类似的事情。

动作条:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
<item 
    android:id="@+id/action_settings" 
    android:title="@string/hello1" 
    app:showAsAction="never"/> 

</menu> 

onClickListener:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle presses on the action bar items 

    switch (item.getItemId()) { 
     case R.id.action_settings: 
      onCreateDialog(); 
      return true; 
     case android.R.id.home: 
      finish(); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

public void onCreateDialog() { 
    String[] string= new String[]{"Add to Calendar", "Share"}; 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Options") 
      .setItems(string, new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        switch (which) { 
         case 0:...................} 
+0

如果您要发布该问题,请将其与代码一起发布。否则,你得到答案的可能性很低。 – Henry

+0

请参阅编辑 –

+0

因此,当您单击操作栏中的“设置”菜单项时,您将显示一个警告对话框。你在这里问题是什么? – Henry

回答

0

我通过扩展活动appcompatactivity的活动,而不是修复它。奇怪的错误。然后它没有这样做。

1

这是你有菜单设置当前的方式,预期的行为。

<item 
    android:id="@+id/action_settings" 
    android:title="@string/hello1" 
    app:showAsAction="never"/> <!-- Don't show this action until the overflow menu is shown --> 

设置为nevershowAsAction,没有动作表现出来,直到显示溢出菜单。为showAsAction可用的选项有:

["ifRoom" | "never" | "withText" | "always" | "collapseActionView"] 

在你的情况,因为你只能有一个菜单项,就可以使用always

有关更多信息,请参阅menu resource documentation

你应该能够在Android Studio中预览此(参见下图)

Android Studio Preview

+0

我把它设置得总是早些,它有相同的行为。不过,我会尝试这个解决方案。 –

+0

您的字符串可能太长而无法放入应用栏。您可以缩短它或使用图标。如果您提供图标,则会显示图标,除非文字有空格 – amenon

+0

没有骰子,我也简称为“选项”。 –