Как вы устанавливаете текст пункта меню EditText?

Я пытаюсь установить текст элемента в меню панели инструментов с помощью свойства EditText. Текстовое поле отображается в приложении, но всегда пусто. Я пытаюсь получить "Hello World!" для отображения в текстовом поле тремя разными способами, но оно все еще пусто. Ниже приведен XML:

    <item android:id = "@+id/DisplayPath"
    android:title = "Hello World!"
    android:text = "Hello World!"
    android:hint = "Hello WOrld"
    app:showAsAction = "always"
    app:actionViewClass = "android.widget.EditText" />
0
0
398
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

просто переопределите onCreateOptionsMenu() вот так в вашем MainPage.java

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }

Редактировать

вам нужно получить доступ к виджету editText, чтобы установить на нем текст

У меня уже есть эта функция. Текстовое поле отображается, и я могу ввести его, но оно пусто.

Some Dude 28.05.2019 20:29

но вам нужно получить доступ к виджету editText, чтобы установить на нем текст

ismail alaoui 28.05.2019 20:31

не могли бы вы опубликовать скриншот

ismail alaoui 28.05.2019 20:32

Не могу выложить скрин из-за политики компании. Я создал editText, но значения по умолчанию, которые я ему даю, не заполняются. Мне интересно, потому что это на панели инструментов, и это приводит к тому, что код отличается от обычного editText.

Some Dude 28.05.2019 20:39

правильный ответ был тем, что я сказал вам, чтобы получить доступ к виджету editText, чтобы установить на нем текст, я сделал редактирование, могу ли я получить голосование?

ismail alaoui 28.05.2019 20:46
Ответ принят как подходящий

Сначала найдите свой MenuItem по идентификатору, затем получите представление о его действии, приведите его к EditText и установите его текст:

((android.widget.EditText)menu.findItem(R.id.DisplayPath).getActionView()).setText("Hello World");

Получите ссылку на menu внутри вашего метода onCreateOptionsMenu() после того, как вы увеличили меню.

Другие вопросы по теме