【发布时间】:2013-09-30 21:15:18
【问题描述】:
问题:
这是我的情况:
public class customView extends View {
myView = new RelativeLayout(...);
//...
public customView getLayout() {
return (customView) myView;
}
public void myFunction(){}
}
那么,如果我这样做:
customView cv = new customView();
cv.setId(100);
// mainLayout si riferisce alla View principale
mainLayout.addView(cv.getLayout());
当我尝试获取之前创建的新“customView”时,它会返回 ClassCastException。
( (custonView) mainLayout.findViewById(100) ).myFunction();
它说我不能在 customView 中投射 RelativeLayout
我的 customView 显示了一个带有一些新功能的 RelativeLayout:当我创建它时,一个计时器在 TextView 嵌入中启动。
当我回忆起对象时,我应该能够停止计时器计时器(停止计时器函数编写并完全工作)。
谢谢大家
答案:
public class customView extends View {
public void customView(Context context){
myView = new RelativeLayout(...);
**addView(myView);**
}
//...
//public customView getLayout() {
// return (customView) myView;
//}
public void myFunction(){}
}
并调用它
customView cv = new customView();
cv.setId(100);
//mainLayout si riferisce alla View principale
//mainLayout.addView(cv.getLayout());
mainLayout.addView(cv);
【问题讨论】:
-
这一行的问题 return (customView) myView;您不能将 View 转换为 RelativeLayout
标签: android view casting classcastexception