问题描述
我有一个CustomLayout,当我在onMeasure中进行一些测量时,我需要对属于TextView或CustomTextView的View进行计算,与对其他NonTextView View的计算不同。
if (!(child instanceof TextView & !(child instanceof classInTermsOfTextView))) {
System.out.println("child instanceof somethinglikeTextView == flase");
measureChildWithMargins(child,MeasureSpec.makeMeasureSpec(0,MeasureSpec.UNSPECIFIED),0);}
} else {
System.out.println("child instanceof TextView == true");
measureChildWithMargins(child,MeasureSpec.makeMeasureSpec(myParentWidthSize,MeasureSpec.AT_MOST),0);
}
但是问题在于该CustomLayout将来会用于我的其他APP开发,我不知道我可能使用的CustomTextView的名称是什么,也许是MyTextView1
,MyTextView2
,...。 ,XXXTextView
。
由于我可能会忘记例如以后在上述代码“ MyTextView1
”中的instance of MyTextView1
,如何检查名称为“ TextView”的类的View实例?
(备注:更重要的一点是,MyTextView1可能不会扩展TextView而是仅扩展View,并且我可以在MyTextView1的onDraw上绘制定义的文本,因此(child instanceof TextView)
将返回false
MyTextView1,所以我需要对它是否是一种TextView进行分类,但要对其名称进行分类!)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)