Android中自定义视图的“instanceof”方法?
Posted
技术标签:
【中文标题】Android中自定义视图的“instanceof”方法?【英文标题】:Method like "instanceof" for custom views in Android? 【发布时间】:2013-03-30 02:29:12 【问题描述】:我在 App 运行期间对一些布局进行了膨胀,并将它们存储在 View
类型的变量中。我知道我可以在膨胀后为视图设置一个 Tag
并检查它以检测它的类型,但是还有另一个如何检测它?例如像instanceof
这样的方法?
【问题讨论】:
您是在说这个:***.com/questions/2695646/… 还是别的什么? @MorrisonChang 哦,不...。它是关于从 xml 创建和使用 customview。但我的问题是关于如何检测我的 customview 是从哪个布局膨胀的? @hasanghaforian 你的意思是要获取膨胀的xml文件的文件名? @Pragnani 是的,如果可能的话。 @hasanghaforian 没有什么是不可能的...只需为您的视图设置 contentDescription,并根据 contentDescription 识别您的视图 【参考方案1】:试试这样的
View yourView1=(View)findViewById(R.id.yourView1);
boolean isMyView=false;
try
YourView yv=(YourView)yourView1;
isMyView=true;
catch (ClassCastException e)
isMyView=false;
e.printStackTrace();
if(isMyView)
//OK it is yourView
【讨论】:
这不适用于从 .xml 文件膨胀的视图。以上是关于Android中自定义视图的“instanceof”方法?的主要内容,如果未能解决你的问题,请参考以下文章