Добавление пункта меню в существующее меню, по нажатии на кнопку

Есть существующее меню, по нажатии на три точки появляется три действующих пункта. На экране есть кнопка, по первому нажатии на которую, необходимо добавить четвертый пункт меню. Еще одно нажатие - пятый пункт меню, еще одно нажатие - шестой пункт меню.

Как я думал сделать: Я изначально создал 6 пунктов меню в menu_main.xml, три из которых задал свойство visible:false. Существует обработчик команд первых трех пунктов меню (toast-сообщение, вывод информации в log и отображение диалогового сообщения). 4-6 пункты могут просто отображать toast's.

Далее через onClick пытался изменить свойство visible на true, но что то делаю не так и появляется ошибка Cannot resolve method 'setVisibility(int)'. Как мне подключится к редактированию этого свойства в пункте меню?

import androidx.appcompat.app.AppCompatActivity;

import android.app.ActionBar;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements OnClickListener {

    private static final String TAG = "myLogs";
    Button button;
    TextView textView4;
    EditText editText;
    private Object Menu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(this);
        Button button2 = (Button) findViewById(R.id.button2);
        editText = (EditText) findViewById(R.id.editText);
        textView4 = (TextView) findViewById(R.id.textView4);
        final Menu action_item4 = (Menu) findViewById(R.id.action_item4);


        button2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                Menu action_item4 = (Menu) findViewById(R.id.action_item4);
                 action_item4.setVisibility(View.VISIBLE);
                          }
        });
    }

} }


Ответы (1 шт):

Автор решения: Style-7

Перегрузите данный метод активности

@Override
public boolean onPrepareOptionsMenu( Menu menu ){
    return super.onPrepareOptionsMenu( menu );
}

В нем есть параметр Menu, вот через него и управляйте видимостью, но учтите что изначальное состояние всегда будет то, которое вы создали в методе onCreateOptionsMenu.

→ Ссылка