为什么FindViewById不用new一个对象就能直接赋值给某个引用变量? AndroidFindViewByIdAndroid基础对象布局 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的理解是setContentView的时候,系统就已经初始化好这些控件view了,find过程只是一个关联引用下你指定id的view而已 的确是的。当然还有adapter里的,fragment里的。。这些都是在infalter的时候创建的对像。 楼主真是个好学的人,应该是findviewbyid里会new,或者如一楼所说的 我也很疑惑啊。最近看到一段代码。先声明了一个btn类对象btn,然后btn = FindViewById(id1),再给btn绑定了一个按键监听函数。然后又btn=FindViewById(id2),再给btn绑定了另外一个监听函数。如此反复的给xml里面的4个按钮绑定了格子的按键响应函数。居然还可以各自响应各自的按键动作。我一下就凌乱了。-----------------------------------------搜了一大通。发现如果你用c++的语法去理解。这里是无法理解的。要用java的语法。java中这里的btn并不是一个实例化的对象。只不过是一个对象的引用变量名,(相当于c++中的类指针)。id1、di2对应的button1和botton2分别被android通过xml获取信息,创建好,FindViewById()可以返回对应对象的地址。btn = FindViewById(id1)。btn指向对应的botton1。 View中的构造方法:里面有TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.View, defStyle, 0); int attr = a.getIndex(i); switch (attr) { case com.android.internal.R.styleable.View_id: mID = a.getResourceId(attr, NO_ID); break;}mID这个全局变量就是R中的static final的那个id吧我在源码中分析的 高手进来帮帮忙,循环播放mp3停顿一下的问题 Android2.2 怎么往SIM卡里插入联系人 android 拍照上传功能 新手提问~~~~~~~~ 3d max 纹理贴图 有用过httpclient并成功带验证码登陆的帮忙看下,一直成功不了快烦死了 android panel Activity里面获取Fragment出错 请问关于从网络数据库获取数据 并显示的问题 新人求助,水平方向的LinearLayout在使用addview的时候展示出来的效果会出问题,求解 SDK更新问题?求助!!! android 怎样在锁屏状态下 弹出 activity 处理后 再次锁屏
的确是的。当然还有adapter里的,fragment里的。。这些都是在infalter的时候创建的对像。
先声明了一个btn类对象btn,
然后btn = FindViewById(id1),再给btn绑定了一个按键监听函数。
然后又btn=FindViewById(id2),再给btn绑定了另外一个监听函数。
如此反复的给xml里面的4个按钮绑定了格子的按键响应函数。
居然还可以各自响应各自的按键动作。我一下就凌乱了。-----------------------------------------
搜了一大通。发现如果你用c++的语法去理解。这里是无法理解的。要用java的语法。
java中这里的btn并不是一个实例化的对象。只不过是一个对象的引用变量名,(相当于c++中的类指针)。
id1、di2对应的button1和botton2分别被android通过xml获取信息,创建好,FindViewById()可以返回对应对象的地址。btn = FindViewById(id1)。btn指向对应的botton1。
defStyle, 0);
int attr = a.getIndex(i);
switch (attr) {
case com.android.internal.R.styleable.View_id:
mID = a.getResourceId(attr, NO_ID);
break;
}
mID这个全局变量就是R中的static final的那个id吧
我在源码中分析的