Android:如何从视图中获取视图 class 以与 instanceOf 一起使用

Android : How to get view class from a view to use with instanceOf

我正在尝试通过返回找到的第一个视图在视图组中按类型获取视图。

private View findViewByType(ViewGroup p, View v) {
    for (int i = 0; i < p.getChildCount(); i++)
        if (p.getChildAt(i) instanceof v.getClass()) 
            return p.getChildAt(i);
}

我似乎无法 view.getClass() 工作。如何从视图中获取 class?

一种方法可以是

p.getChildAt(i).getClass().isInstance(v)

isIsntance(Object) 确定指定的 Object 是否与此 Class 表示的对象赋值兼容。您可以阅读文档 here

像这样更改您的条件:

 private View findViewByType(ViewGroup p, View v) {
        for (int i = 0; i < p.getChildCount(); i++)
           if (p.getChildAt(i).getClass().isInstance(v))  
return p.getChildAt(i);
    }