2016-01-25 5 views
-4

После того, как пользователь доберется до определенного балла, я не буду показывать медаль рядом с именем пользователя. Выполнение этой программы приведет к исчезновению изображения после того, как пользователь покинет приложение. Как я могу выполнить постоянный medal на макете после события. Должен ли я создать два макета, один с медалью и один без, и использовать setContentView в if-statement в onCreate();?Должен ли я сделать новый макет?

if (userHasMedal){ 

setContentView(R.layout.medal) 
}else{ 
setContentView(R.layout.noMedal) 
} 

Это единственный способ, которым я могу это сделать? Кажется глупым создать целый другой макет, чтобы отобразить еще одну картинку ...

Я уверен, что есть простой способ сделать это, но я не знаю, что делать, кроме того, чтобы создать два макета ,

Спасибо за вашу помощь,

Ruchir

+0

Как вы сохраняете счет пользователя? Если они покидают приложение, они должны перезапустить? –

+0

@GeorgeMulligan Общие предпочтения. –

+1

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

ответ

1

Всегда используйте свой значок medal в настройках и установите его видимость на GONE или VISIBLE в зависимости от состояния. Конечно, как только пользователь покидает приложение (или действие переходит на задний план), вы хотите сохранить/сохранить/перенести счет где-то.

0

Я уверен, что вы можете справиться с добавлением медали во onResume(). Что касается причины onResume, мы хотим, чтобы она проверялась и отображалась всякий раз, когда активность активна.

onResume() 
{ 
//getting/verifying points 
//Handle medal adding (Check if image exists, add/modify if needed) 
} 

Самое главное, что вам нужно каким-то образом сохранить этот счет и получить к нему доступ в частности. Это не было рассмотрено в вашем вопросе, так что это лучшее, что я могу сделать.

Смежные вопросы