我从这里拿文本视图实例:
TextVIEw date = null; try { date = (TextVIEw) getLayoutInflater().inflate( R.layout.some_textvIEw, null); } catch (Exception e) { // Todo: handle exception e.printstacktrace(); }
我创建了自定义textvIEw:
public class MyTextVIEw extends TextVIEw{ public MyTextVIEw(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MyTextVIEw(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextVIEw(Context context) { super(context); }}
现在我要投射那些:
MyTextVIEw my = (MyTextVIEw)date;
我得到了这个的例外:
java.lang.classCastException: androID.Widget.TextVIEw cannot be cast to com.myapp.name.MyTextVIEw
那怎么办呢?
谢谢.
编辑:
如果我将日期声明为MyTextVIEw,仍然会得到相同的异常,那么我的xml是some_textvIEw:
<?xml version="1.0" enCoding="utf-8"?><TextVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="This is a template for date text vIEw" />
解决方法:
您的XML布局R.layout.some_textvIEw资源是否正确?
不要用
<TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" ... />
您必须在XML中使用自定义类:
<com.your.package.MyTextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" ... />
类路径是正确的非常重要!
总结以上是内存溢出为你收集整理的如何使用我的自定义TextView来构建TextView?全部内容,希望文章能够帮你解决如何使用我的自定义TextView来构建TextView?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)