Android - Как изменить текст заголовка для одного занятия? - PullRequest
0 голосов
/ 05 июля 2011

Этот вопрос похож на вопрос , который я задал вчера. Однако моя проблема в другом. Подводя итог, мне нужно было удалить текст из заголовка для одного из моих занятий (основного занятия) (1) . Я сделал это, используя setTitle(""); по методу onCreate. Однако при запуске приложения прежний заголовок остается отображаться в течение 2 секунд, а затем изменяется на новый.

Вероятно, это потому, что заголовок загружается до загрузки действия, и я думаю, мне нужно либо загружать заголовок одновременно с загрузкой действия, либо делать это не в коде, а в XML-файлах.

Есть идеи?

Спасибо!

(1) : причина, по которой я хочу это сделать, объяснена здесь .

Ответы [ 4 ]

1 голос
/ 05 июля 2011

Вы можете сделать это из файла манифеста для каждого действия отдельно. Смотрите здесь .

0 голосов
/ 13 июня 2017

Если вы хотите сделать это программно, используйте setTitle(); в onCreate

Например, у меня есть действие, которое можно использовать для двух целей: либо для добавления нового элемента, либо для редактирования существующего в базе данных.

if (editThis == null) {
    setTitle(getString(R.string.new_item)); //set activity title to new
        } else {
    setTitle(getString(R.string.edit_item)); // set Editor title to edit

}

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

Что касается смены названия через несколько секунд. У вас есть набор названий для действия, скажем, в Манифесте? Скорее всего, приложение сначала загружает эту информацию, а затем переходит к строке, где вы говорите, чтобы это снова изменить.

0 голосов
/ 05 июля 2011

Перейдите в папку ваших значений, в strings.xml. Здесь вы видите строку app_name. Отредактируйте его по своему желанию.

0 голосов
/ 05 июля 2011


Попробуйте это

@ Override
public void onCreate (состояние пакета)
{
requestWindowFeature (Window.FEATURE_NO_TITLE);

Вы также можете попытаться указать собственный макет заголовка

@ Override
public void onCreate (состояние пакета)
{
requestWindowFeature (Window.FEATURE_CUSTOM_TITLE);
setContentView (R.layout.main);
getWindow (). SetFeatureInt (Window.FEATURE_CUSTOM_TITLE, R.layout.window_title );

...