问题描述
- android中的java简单语法问题
-
android中java代码 Button simple = (Button) findViewById(R.id.simple)那个括号里的Button是类名吗?这里为什么写上(Button)而不是new呢?请原谅我java都没有学完就被逼着学android
解决方案
可以将(Button)理解为强制转换,因为findViewById(R.id.simple)这句话通过字面理解就是通过ID找到simple这个控件该控件属于view类型,
而你前面写了Button simple,显然是一个Button类型的,=号前后要保持一致,所以要加(Button),将后面findViewById(R.id.simple)返回的view类型
强制转换成Button类型
解决方案二:
是类名,Button类,这里是通过id找到R.id.simple这个view,但是Button是View的子类,所以要把一个View给Button需要加上(Button)强制转换
解决方案三:
实质上,在oncreate方法中的R.layout.myxml中就把各部分的安卓的控件的对象new出来了。因为 findViewById(R.id.simple)中的R.id.simple就是找到了你的布局文件中的一个对象,而(Button) 是强转为button对象。
解决方案四:
(Button)为强制转换,因为findViewById(R.id.simple)这句话通过字面理解就是通过ID找到simple这个控件该控件属于view类型
解决方案五:
这是布局文件上已经存在的button 是类名 也可以new一个layout文件上不存在的新控件
解决方案六:
Android中一些常用的java语法
解决方案七:
因为findViewById(R.id.simple)返回的是view,(Button)是强制类型转换
解决方案八:
强制类型转换,你果然没学好Java
解决方案九:
这个用findview,是寻找xml已经定义的button,在xml中定义了就相当于已经new了,你只需要find到那个view即可,当然在你find后,它本身是一个view,因为所有控件都继承的是View,所以你想得到button,就必须强制转换为button!另外只有动态添加控件时才会用到new Button()这种方式!