1.实验:通过布局编辑器强行指定两个button id相同,然后在代码中通过findViewById()获得句柄后修改其文本。
实验结果:只有一个button的文本变化了,另一个不受影响。
2.实验:主布局只放一个linearLayout,代码中动态的new 一个button,然后同过Layout.addView()多次重复添加。
实验结果:发现程序直接报错不让运行了。
3.实验:主布局放置两个linearLayout,代码中new一个button后,通过Layout.addView()分别添加到两个不同布局中去。
实验结果:发现程序直接报错不运行了。
4.实验:Activity主布局放置一个按钮Id为btn001,创建一个对话框,其布局中也放置一个按钮,id同样为btn001,在Activity以及Dialog的onCreate函数中都通过findViewById来查找btn后修改文本。
实验结果:两个按钮的文本都修改成了各自的文本,互不影响。
5.实验:Activity中通过new创建一个button;将新创建的button添加到Activity上;创建一个对话框,将这个button再添加到对话框上。
实验结果:程序运行出错。
结论:
1.同一工程中的View的ID可以一样,在R文件中,同样的ID只会生成一个数据项。
2.两个同ID的View被同一个View显示时,通过findViewById只能访问其中一个。
3.同一个View(即new出来的句柄)只能被一个View管理,不能多次添加到另一个View或者另外多个View,否则程序运行出错。
分享到:
相关推荐
在Android开发中,"抽屉效果"通常指的是DrawerLayout,它是Android SDK提供的一种设计模式,用于实现类似手机应用抽屉的交互体验。这种效果常见于许多应用中,用户可以通过从屏幕边缘滑动来打开或关闭一个包含导航...
一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文Android学习笔记之ViewFilpper 。 除了这个ViewFlipper,我们还需要了解一下ViewAnimator。它...
如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧。 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文Android学习笔记之...
在Android开发中,自定义控件是提升应用用户体验和界面独特性的重要手段。本文将深入探讨如何创建一个自定义的拖动条控件,并结合方向...在实践中,不断试验和优化,你会发现自定义控件能为你的应用带来无尽的可能性。
> parent, View view, int position, long id) { // 选项改变时的事件内容 } public void onNothingSelected(AdapterView<?> arg0) { // 无选项时的事件内容 } } // 调动该事件 this. 下拉菜单控件名....
在Android开发中,动画是提升用户体验的关键因素,它能让应用变得更加生动、有趣。...实践是提高技能的最好方式,尝试创建自己的动画项目,不断试验和优化,你会发现Android动画的世界充满了无限可能。
android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:menu="@menu/drawer_menu" /> </androidx.drawerlayout.widget....
因为我本人很喜欢在不同的页面之间跳转时加点好玩的动画,今天无意间看到一个动画效果感觉不错,几种效果图如下:既然好玩就写在博客中,直接说就是:该效果类似于iPhone中View的切换动画效果,今天就只介绍上面展示...
对于“模糊”效果,我们通常会结合`View`的`setAlpha()`方法来实现。在动画过程中,可以逐渐降低Activity的透明度,模拟出从当前Activity向下一个Activity过渡时的模糊效果。同时,可以使用Android的RenderScript库...
事先准备好2张滑动图片(有想试验的小伙伴,自备图片啊,小编就不提供了…) 运行效果图(左右无限循环): 为了显示更加直观,小编仅用了2张图片。 2.代码实现 (1) Activity的Xml布局文件(非常简单的布局)
此次试验代码较多,我只列出主要代码,详细的代码可用底部的下载链接下载。 一、实验效果图: 二、主要代码: (1)WelcomeActivity.Java(这部分代码实现的是第一页的欢迎页面) package ...
方法一:(经试验无效,但网上广为流传,也许是我使用方法不当,有待进一步验证……) android想要应用运行时全屏有一种方法是在activity的onCreat方法中加入如下代码:getWindow().setFlags(WindowManager....
近来工作中也要用到HTML5离线应用功能,由于是在Android平台上做,所以自然而然的选择Webview来解析网页。但如何使Webivew支持HTML5离线应用功能呢,经过反复摸索和上网查找资料,反复做试验终于成功了。首先需配置...
如果一个View不处理某个事件(返回false),那么事件会回溯到父View,直到找到一个处理它的View或者事件被完全消耗掉。 为了自定义触摸事件的处理,你需要重写View或ViewGroup的`onTouchEvent()`方法。在这个方法中...
AChartEngine是一个开源的Java库,专为Android平台设计,用于创建各种图表,如线图、柱状图、饼图等。它提供了简单且灵活的方式来在...在实践中,不断试验和调整渲染器的属性,你将找到最适合你的应用的视觉效果。
View sharedElement = findViewById(R.id.shared_view); transaction.addSharedElement(sharedElement, "shared_element_tag"); // 设置过渡 Transition transition = new ChangeTransform(); transaction....
经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意。 下面是实现过程。 1.使用Activity,而不是View QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在...