Я пытаюсь установить текст элемента в меню панели инструментов с помощью свойства 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" />
просто переопределите 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
, чтобы установить на нем текст
но вам нужно получить доступ к виджету editText, чтобы установить на нем текст
не могли бы вы опубликовать скриншот
Не могу выложить скрин из-за политики компании. Я создал editText, но значения по умолчанию, которые я ему даю, не заполняются. Мне интересно, потому что это на панели инструментов, и это приводит к тому, что код отличается от обычного editText.
правильный ответ был тем, что я сказал вам, чтобы получить доступ к виджету editText, чтобы установить на нем текст, я сделал редактирование, могу ли я получить голосование?
Сначала найдите свой MenuItem по идентификатору, затем получите представление о его действии, приведите его к EditText и установите его текст:
((android.widget.EditText)menu.findItem(R.id.DisplayPath).getActionView()).setText("Hello World");
Получите ссылку на menu
внутри вашего метода onCreateOptionsMenu() после того, как вы увеличили меню.
У меня уже есть эта функция. Текстовое поле отображается, и я могу ввести его, но оно пусто.