我应该制作新的布局吗?

时间:2016-01-25 02:14:36

标签: java android android-layout optimization view

用户获得某个分数后,我不想在用户名旁边显示奖牌。以编程方式执行此操作将使用户离开应用程序后图像消失。如何在事件发生后在布局上完成永久setContentView。我是否必须创建两个布局,一个使用奖牌,一个不使用,并在if-statement的{​​{1}}中使用onCreate();

if (userHasMedal){

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

这是我能做到的唯一方法吗?创建一个完整的其他布局只是为了再显示一张图片似乎很蠢......

我确信有一种简单的方法可以做到这一点,但除了可能创建两个布局之外,我不知道该怎么做。

感谢您的帮助,

Ruchir

2 个答案:

答案 0 :(得分:1)

始终在布局中设置medal图标,并根据具体情况将其可见性设置为GONEVISIBLE。当然,一旦用户离开应用程序(或活动转到后台),您希望在某处保留/保存/保留分数。

答案 1 :(得分:0)

我很确定你可以在onResume()期间处理添加奖章。至于为什么onResume,我们希望它在Activity活动时检查和显示。

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

最重要的是你需要一些方法来保存这个分数并特别是访问它。你的问题没有解决这个问题,所以这是我能做的最好的事情。