android - 显示布局前运行代码

时间:2013-09-03 18:40:02

标签: java android eclipse

我的应用中的一个项目是导致其他活动的选项。好的,我可以将此选项发送到其他活动,但我必须阅读该选项,然后根据此信息隐藏布局中的一些内容。

我已将此添加到onCreate方法中,但没有成功:

Bundle extras = getIntent().getExtras();
String type = extras.getString("objects");

if(type == "animals"){      

    ImageView fieldSwamp = (ImageView) findViewById(R.id.btnSwamp);
    ((LinearLayout)fieldSwamp.getParent()).removeView(fieldSwamp);

    ImageView fieldGrass = (ImageView) findViewById(R.id.btnGrass);
    ((LinearLayout)fieldGrass.getParent()).removeView(fieldGrass);          

}

然后我在“onLocationChanged”方法上尝试了它,但也没有成功。我不确定问题是在代码本身还是在我放的地方。有人可以帮忙吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

试试这个,因为 .equalsIgnoreCase 更适合比较字符串,它会忽略字母大小写。

if("animals".equalsIgnoreCase(type)){      

    ImageView fieldSwamp = (ImageView) findViewById(R.id.btnSwamp);
    ((LinearLayout)fieldSwamp.getParent()).removeView(fieldSwamp);

    ImageView fieldGrass = (ImageView) findViewById(R.id.btnGrass);
    ((LinearLayout)fieldGrass.getParent()).removeView(fieldGrass);          

} else {
Log.e("type","didn't remove views.");
}

答案 1 :(得分:0)

尝试

ImageView fieldSwamp = (ImageView) findViewById(R.id.btnSwamp);
fieldSwamp.setVisibility(View.GONE);

此外,您应该使用if(type.equals(type)) {