用户获得某个分数后,我不想在用户名旁边显示奖牌。以编程方式执行此操作将使用户离开应用程序后图像消失。如何在事件发生后在布局上完成永久setContentView
。我是否必须创建两个布局,一个使用奖牌,一个不使用,并在if-statement
的{{1}}中使用onCreate();
?
if (userHasMedal){
setContentView(R.layout.medal)
}else{
setContentView(R.layout.noMedal)
}
这是我能做到的唯一方法吗?创建一个完整的其他布局只是为了再显示一张图片似乎很蠢......
我确信有一种简单的方法可以做到这一点,但除了可能创建两个布局之外,我不知道该怎么做。
感谢您的帮助,
Ruchir
答案 0 :(得分:1)
始终在布局中设置medal
图标,并根据具体情况将其可见性设置为GONE
或VISIBLE
。当然,一旦用户离开应用程序(或活动转到后台),您希望在某处保留/保存/保留分数。
答案 1 :(得分:0)
我很确定你可以在onResume()
期间处理添加奖章。至于为什么onResume,我们希望它在Activity活动时检查和显示。
onResume()
{
//getting/verifying points
//Handle medal adding (Check if image exists, add/modify if needed)
}
最重要的是你需要一些方法来保存这个分数并特别是访问它。你的问题没有解决这个问题,所以这是我能做的最好的事情。