2013-07-20 50 views
0

我需要一種方法來獲取信息,如果我的視圖是Button的一個實例。獲取父視圖的視圖實例

MyButton是Button的子類。

public void onCreate(Bundle s) 
{ 
    ... 
    MyButton button = new MyButton(activity); 
    getViewType(button); 
} 

private <V extends View> V getViewClass(V view) 
{ 
    Class<V> clazz = (Class<T>) view.getClass(); 
    if (clazz instanceof Button) { 
     return Button.class; //the information I need to get 
    } 
} 

instanceof在這裏不起作用。 我可以將clazz與Classes進行比較,如下所示。但是如果這個視圖實例是類Button的子類,我需要這些信息。

if (clazz == Button.class) ... //returns false 
if (clazz == MyButton.class) ... //returns true 

編輯:

我知道了。解決方案:

if (Button.class.isAssignableFrom(clazz)) 
{ 
    ... 
} 
+0

如果您找到答案,請將其添加爲答案並接受,所以問題將被關閉。 – sandrstar

回答

0

爲什麼不這樣做呢?

private <V extends View> V getViewClass(V view) 
{   
    if (view instanceof Button) { 
     return Button.class; //the information I need to get 
    } 
}