相关疑难解决方法(0)

以编程方式更改 PopupMenu 项的标题

我有一个带有 4 个选项的弹出菜单:添加为朋友、邻居、同事和粉丝。我想要做的是,如果您单击“添加为朋友”,那么该选项将变为“删除朋友”。

这是我迄今为止尝试过的:

活动:

private Menu menuOpts;

public void showPopup(View v) {
    Context wrapper = new ContextThemeWrapper(this, R.style.PopupPerfilAjeno);
    PopupMenu popup = new PopupMenu(wrapper, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.menu);
    popup.show();

    menuOpts = popup.getMenu();
}

@Override
public boolean onMenuItemClick(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.add_friend:
            String add_as_friend = getString(R.string.add_as_friend );

            if (item.getTitle().toString().equals(add_as_friend )) {
                addContact(1, item);
            }
            else {
                removeContact(1, item);
            }
            return true;
        case R.id.add_workmate:
            //
            return true;
        case R.id.add_neighbour:
            //
            return true;
        case R.id.add_fan:
            //
            return true;
        default:
            return false; …
Run Code Online (Sandbox Code Playgroud)

java android

5
推荐指数
1
解决办法
4217
查看次数

如何在Android中设置菜单的标题

我正在尝试动态设置菜单的标题.

检索并设置如下:

ItemView menuTitle = ((ItemView) findViewById(R.id.menu_filter));
menuTitle.setTitle("TITLE_HERE");
Run Code Online (Sandbox Code Playgroud)

只要它在onOptionsItemSelected(MenuItem item)方法中就可以正常工作.

我无法找到一种方法来设置这个onPrepareOptionsMenuonCreateOptionsMenu方法作为findViewById返回null(即使在充气菜单后).

奇怪的是,文档中似乎没有任何内容可以实现这一点,并且谷歌搜索对于这样一个看似简单的问题并没有太多关注.

java android menu title

2
推荐指数
2
解决办法
1万
查看次数

以编程方式更改菜单项在android中无效

我有一个菜单项,我想以编程方式更改其可见性.菜单就是这个

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item
        android:id="@+id/pencil"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:visible="true"
        android:title="@string/for_pencil"/>

</menu>
Run Code Online (Sandbox Code Playgroud)

然后我的代码中的一些地方

((MenuItem) findViewById(R.id. pencil)).setVisible(false);
Run Code Online (Sandbox Code Playgroud)

错误:

E/AndroidRuntime(13845): FATAL EXCEPTION: main
E/AndroidRuntime(13845): java.lang.ClassCastException: com.android.internal.view.menu.ActionMenuItemView cannot be cast to android.view.MenuItem
Run Code Online (Sandbox Code Playgroud)

任何帮助整理出来的?

android menuitem android-layout

1
推荐指数
1
解决办法
5678
查看次数

标签 统计

android ×3

java ×2

android-layout ×1

menu ×1

menuitem ×1

title ×1