2014-09-30 67 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

相关问题