操作栏选项操作

时间:2015-11-07 13:40:50

标签: java android xml android-actionbar

点击之前:

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:...................}

2 个答案:

答案 0 :(得分: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 -->

showAsAction设置为never后,只有在显示溢出菜单后才会显示操作。 showAsAction的可用选项包括:

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

在您的情况下,因为您只有一个菜单项,所以可以使用always

有关详细信息,请参阅menu resource documentation

您应该可以在Android Studio中预览此内容(请参阅下面的屏幕截图)

Android Studio Preview

答案 1 :(得分:0)

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

相关问题