2011-04-14 51 views
4

我有一个困境,基本上我有ImageButtons,我想要显示在所有活动(这已完成),我也希望它们以某种方式显示在所有活动上,具体取决于正在显示哪些活动。我希望这样做的方式是,我不必在每个班级单独硬编码规格。android获取多态方法的当前活动名称

虽然图像是在一个共享的XML文档中定义的,但我希望共享类能够读取正在调用的活动,然后以特定方式格式化特定图像。这是如此,如果我改变功能,我只需要改变一个类的属性。

我想要做某种If或switch语句来比较if(thisActivity == MainActivity)那么,但我不知道如何检索活动的“名称”来比较它们!

编辑。我想是这样的:

Context myContext = this; 

    if(myContext instanceof Intent(MainMenu.class) == true) 
    { 

    } 

我知道意向函数没有原型,以检查这样的一类,但我想要的东西,让我知道当前类是一类特殊的一部分,与条件声明中的其他几种情况相反

感谢您的任何见解!

回答

18

instanceof运营商是否会满足您的需求?

if(this instanceof Activity1) { 
//... 
} 
else if(this instanceof Activity2) { 
//... 
} 
+0

你能详细点吗?我将如何在条件语句中使用该操作符,以及我将如何比较? – CQM 2011-04-14 21:05:30

+0

大声笑,哇,我们都在同一时间编辑我们的帖子。看到我的编辑:我应用了它,但我不确定Activity1应该是什么类型? – CQM 2011-04-14 21:32:20

+0

已更新。你只需要使用'this'引用当前的Activity,并且可以比较任何其他Activity(或任何其他对象,就此而言)的类名称。 – LeffelMania 2011-04-14 21:32:48