现在的位置: 首页 > 综合 > 正文

由”Type mismatch: cannot convert from View to ProgressBar”联想到的类型转换错误的根源

2019年09月25日 ⁄ 综合 ⁄ 共 531字 ⁄ 字号 评论关闭

    在自学android,在训练使用ProgressBar时,我总是无法通过ProgressBar的id得到ProgressBar。老是报"Type mismatch: cannot convert from View to ProgressBar"的错。检查代码,没有发现错误。弄了两个晚上,都没检查出来。

    上网搜了下,发现问这个问题的很少。有,也没有详细探讨问题根源的。

    我这里就详细探讨下这个问题的产生。

    在学corejava时,我从没碰到过这种问题。是在android中才碰到的。我建的类名是ProgressBar,然后要得到控件ProgressBar。大家应该看到错误了把。ProgressBar是android里已有的类,我建的activity也是类。类名冲突了。IDE工具并不会自动识别是要得到我自己建的activity,还是要得到一个控件。所以报错。

    在corejava中,没有谁会建一个"String"的类,因为java里已有了这个类。可android中,我们以为建的是activity,可activity仍然是类,是特殊的继承了activity的类,它仍然要

遵守类名不能重复的规则。

   这就是错误的根源。对activity了解的不透彻,导致出错了!

抱歉!评论已关闭.