2014-09-30 34 views
1

所以我做一個Android應用程序,我已經通過添加標籤到視圖:Java:無法將MyClass分配給對象類型?

view.setTag(1,myClass); 

現在我想通過這一點,標籤:

myClass = view.getTag(1); 

但說:

Incopatible類型

要求:MyClass的

發現:java.lang.Object繼承

是的,我已經聲明myClass的前...

那麼,如何才能讓MyClass的是能夠 「創造」 或 「分配」一個東西?如字符串和整數。

在此先感謝。

+2

演員呢? 'myClass =(MyClassType)view.getTag(1);' – kcoppock 2014-09-30 23:49:39

回答

0

簡單地施放它。

myClass = (MyClass) view.getTag(1); 
+0

我應該學習Java,謝謝。 – 2014-09-30 23:59:01

0

正如你可以看到heregetTag(int i)返回類型爲Object。一種選擇是將返回的對象轉換爲您所期望的類型。

Object obj = view.getTag(1); 

if(obj instanceOf MyClass){ 
    MyClass myClass = (MyClass) obj; 
} 

不過,如果你只需要存儲類的類型,下面是更有趣一點:

MyClass myInstance = new MyClass(); 

view.setTag(1, myInstance); 

Class type = view.getTag(1).getClass(); 
+0

非常感謝!我甚至不知道如何在不知道如何施放的情況下獲得這麼多。 – 2014-10-01 00:08:33

相關問題