Android的include中,怎么获取不同include中的相同布局中的控件id

比如,我的layout.xml中只有一个ImageButton
在另一个tablelayout.xml中通过include调用layout。xml
但是我想在activity中获取不同include中的imageButton的ID

3个回答

系统不会管你在layout中声明了多少个相同ID的View的,通过findViewByID查找控件时,它只关注子View内是否有符合ID的View,其他同ID的View它不会管。

拿不到,相同控件ID,只会拿到一个view。你可以试一下在include时的id取一个新的名字,然后获取到这个新include id view后,再然再在这个view里,
查找你要的ImageButton。还不行的话,可以试一下遍历,所有的view,再对比出你想要的ImageButton来。

根据容器类View的findViewByID来获取就行了,tablelayout中的就先找到tablelayout的View,通过这个View的View的findViewByID方法获取,其他的同理。

gaochao0103
gaochao0103 回复a63850553: 哥们 你能给发个demo吗 有源码的 谢谢了
4 年多之前 回复
a63850553
a63850553 不会。findViewByID其实是View(一般是ViewGroup,容器View)的方法,用以查找包含在该View内指定ID的子View。当你的layout.xml包含在tablelayout.xml时,ImageButton变成了tablelayout的一个子View,所以你只要找到代表这个tablelayout的View,调用它的findViewByID就行了,同样,比如你有另外一个GridViewLayout.xml也include了这个layout.xml,你只要用代表GridViewLayout的View的findViewByID就行了.tablelayout你是用inflate加载进去的对吧,那个返回值就是View.
4 年多之前 回复
gaochao0103
gaochao0103 用相同控件ID, 比如一个 Button按钮, 会不会在不同的布局页面中获取对象时造成冲突,额 本人新手 可能表达的不是很清楚 ,大概是这个意思 求指教 最好有个demo或者源码 谢谢
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android布局中include的使用
如果有的布局会在多个别的布局中用到,可以单独写为一个布局,然后在别的布局中使用include调用。include标签内不能设置RelativeLayout属性,如android:layout_alignParentBottom,因为不起作用,include标签内设置id属性后(android:id),其引用的布局layout内的id属性就不起作用了,一个include中可以引用其后的include
布局中include的使用
将公共的部分创建成一个layout(common.xml)在需要的地方引用 <include layout="@layout/common"/>
Android布局文件中的include
居然没有发现,在xml文件中可以使用include,我晕 一下为son.xml文件 [code=&quot;java&quot;] [/code] 接下来在main.xml文件中将其include进来,如下 [code=&quot;java&quot;] [/code] 运行效果不解释了。本来还在想,如果include2次,那么如何区分包含进来的控件...
android中的include的使用
在android的xml中,经常会用到include。在这里使用的时候有几点要注意的: 1,如果给include添加了id="@+id/xxx"属性的话,在使用的时候,就不能直接把他里面的控件当成主xml中的控件来直接获得了,必须先获得这个xml布局文件,再通过布局文件findviewbyid来获取其子控件。代码如:View layout = getLayoutInflater().inflat
Android修改include布局中的背景颜色
在指定了include布局id的情况下,可以在Activity代码中加入如下两行代码进行设置: View layoutBottom = findViewById(R.id.common_bottom); layoutBottom.setBackgroundColor(getResources().getColor(R.color.colorAccent));...
android布局中使用include及需注意点
在android布局中,使用include,将另一个xml文件引入,可作为布局的一部分,但在使用include时,需注意以下问题: 一、使用include引入 如现有标题栏布局block_header.xml,代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android 重用页面相同布局用include
在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过 标签来重用layout代码 [code=&quot;java&quot;] ...
关于 c++中的 #include 和 #include
运行环境:dev c++ 5.0 + winxprnrn这两个命令都可以用,但有一些细微差别。rnrn程序如下:rnrn#include rnusing namespace std;rnmain()rncout <<"this is good.";rngetchar();rnrnrn编译后出现一个警告,但没有错误。rn#warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated. rn看警告可知,编译器建议我们用c++标准里的 #include 。rn加不加using namespace std;都一样。rnrn当把#include 改成#include 后rn上述警告消失,但是不加using namespace std;会出错,rn `cout' undeclared (first use this function) rn这说明#include 返回的是std命名空间的定义。rnrn分析:#include 返回的是全局空间里的头文件定义,#include 返回的确是std命名空间的头文件定义。rnrn大家有什么结论?
Android布局include问题
![图片说明](https://img-ask.csdn.net/upload/201608/01/1470044405_330377.png)n这种情况能复用么?
android 布局性能优化(<include />)
-
include 页面中的鼠标坐标获取
被include的页面中 : testrn主页面中 :function setPartner(x,evn)rn var e = (evn != null) ? evn : event ;rn alert(event);rn rnrn为什么弹出的是 null 呢 ,如果把超链接写在主页面中就没问题。rn请指点~~~~~谢谢了 ^_^
android 中 include layout 的问题
程序中的 layout 代码:rnrn rn rn rn rn rn rn rn rn rn现在问题是只显示 include 部分,不显示按钮。如果移除 include layout,按钮将会显示。什么原因呢?
android 中include引用的误区。
include在线性布局中不需要使用id,直接使用类似 就行 而在相对布局中就有些问题,他的使用方法和线性布局不同,首先在引用布局中药设置id,并且这个id要和被引用的布局的根布局的id一样。否则就会因为找不到被引用中的控件而报出空指针异常。
布局之include
android可通过include标签来实现布局的重用: <Button android:id="@+id/btn" android:layout_width="50dp" android:layout_height="20dp" android:background="@drawable/ss" /> <include android:id="@+
android布局中如何把include布局隐藏掉的方法
把include包裹在linearlayout里面就行了 <LinearLayout android:id="@+id/head_select_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visi
START.s中怎么加#include ?
START.s中有rnrn#include rn#include rnrn
在include中怎么用绝对路径。
菜鸟这方有礼了。rn 在include中怎么用绝对路径。rn如:rn 我的Tomcat在c盘下。rn 谢谢!!!!!rn
Android中不同view却相同ID
本人新手,在看一例程后发现一问题,但网上实在找不到答案,故在此提问,希望能得到帮助~rnrn在一例程的布局文件中,发现有四个不同的TEXTVIEW使用了相同的ID:textview01,但资源文件R.JAVA中却只有一个对应的texwview地址,而在程序引用的时候却能识别是哪一个textview,而且程序运行正常,觉得好奇怪,望请解答~rnrn金币不多只有10,望见谅= =...rnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrn以上是布局文件rnrn public static final class id rn public static final int classmates=0x7f060000;rn public static final int gallery=0x7f060002;rn public static final int gridview=0x7f060003;rn public static final int phoneId=0x7f060004;rn public static final int selectedImage=0x7f060001;rn public static final int spinner_item=0x7f060005;rn [b]public static final int textview1=0x7f060006;[/b]rn public static final int textview2=0x7f060007;rn public static final int textview3=0x7f060008;rn rn以上是R.java一部分rnrnrn mTabHost.addTab(mTabHost.newTabSpec("tab_test1")rn .setIndicator("TAB 1", icon)rn .setContent(R.id.textview1));rnrn以上是程序调用的语句
怎么在#define中定义#include
譬如rn#define INCLUDE_FILE #include "myfile.h"在编译时候不能通过(因为#在#define中有特殊含义)
include "...." 和 include <....> 有什么不同?
如题
#include 和#include 有什么不同
VC自带的STL应该是在里面吗?rn求正确答案
include过来的布局怎么找到其父控件
情景: 有两个个布局A和B,在A中的父控件是RelativeLayout,在B中 include A,我们想要拿到A中的这个RelativeLayout。 解法一: 如果B include A的时候没有设置ID,那么我们可以在A的RelativeLayout中添加一个ID,然后在Activity中获取这个id,得到的对象就是这个RelativeLayout的对象; 解法二: 如果B inc
JSP中动态INCLUDE与静态INCLUDE的区别
JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,它不会检查所含文件的变化,适用于包含静态页面 注: 20.与...
为什么在vc中 #include 或#include 出错?
为什么在vc中 #include 或#include 出错?rn我在操作系统里确实找不到这两个文件。 但是在vc中帮助文件中用如下的rn一些函数PsGetCurrentThread()...... 都要包括wdm.h和ntddk.h 在两个文件是要kernal32.lib的,我加了 。 是不是和系统有关,我的是windows 2000 server版,还是vc中不支持ddk方面的编程啊。 还是vc没有装全,(这个不太可能)。rn怎么解决啊????????
JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE 静态INCLUDE
JSP中动态INCLUDE与静态INCLUDE的区别?
学习笔记 JSP中动态INCLUDE与静态INCLUDE的区别? 静态include是用jsp的include指令,在编译时将被包含内容编译到本资源中,不能向被包含资源传递参数。 动态include是用jsp的动作元素,在运行时将被包含内容包含到本资源中,可以向被包含资源传递参数。
jsp中动态include与静态include的区别
JSP中动态INCLUDE与静态INCLUDE的区别 动态INCLUDE用jsp:include动作实现 &amp;lt;jsp:include page=&quot;included.jsp&quot; flush=&quot;true&quot;&amp;gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,它不会检查所含文件的变化,适用于包含静态页面     静态inclu...
jsp中静态include和动态include的区别
动态 INCLUDE 用 jsp:include 动作实现  它总是会检查所含文件中的变化 , 适合用于包含动态页面 , 并且可以带参数。各个文件分别先编译,然后组合成一个文件。 静态 INCLUDE 用 include 伪码实现 , 定不会检查所含文件的变化 , 适用于包含静态页面  。先将文件的代码被原封不动地加入到了主页面从而合成一个文件,然后再进行翻译,此时不允许有相同的变量。 
jsp页面中的静态include和动态include的区别
1 jsp页面中有两个include的标签方法来让jsp页面包含进来。一种是静态的include。一种是动态的include。 如:第一种方法:   -----静态的 第二种方法:   ------动态的 2 静态的include方法是jsp语法的那种。是将静态的jsp页面和当前页面合并放在一起,通过jsp机制,合并成一个servlet文件(java文件)。 3 动态的in
JSP中动态include与静态include的区别?
jsp页面动态导入与静态导入
web---JSP中动态include与静态include的区别?
1. 动态include &amp;lt;jsp:include page=&quot;目标jsp&quot;&amp;gt; 它的原理是使用了 request.getRequestDispatcher(目标jsp).include(request,response) 来实现页面包含,其本质是将 源jsp 和 目标jsp 分别解析为两个servlet,这两个servlet生成的动态内容会合并为一个响应返回给浏览器。因为是不同...
JSP中动态include和静态include区别
静态 INCLUDE 用 include 伪码实现 , 不会检查所含文件的变化 , 适用于包含静态页面 <%@ include file="included.htm" %> 。先将文件的代码被原封不动地加入到了主页面从而合成一个文件,然后再进行翻译 动态 INCLUDE 用 jsp:include 动作实现 <jsp:include page="included.jsp" flush="
#include和#include在编译器中是咋个编译的!
z最近写的程序调试的时候发现有点晕,希望大家给点解释!
Jsp 中 include 指令和 include 动作的区别
include指令与动作的区别: (1)include 指令只能引入遵循 JSP 格式的文件,被引入的文件与当前 JSP 文件需要共同合并后才能翻译成一个 Servlet 源文件,最终编译的文件只有一个; 动作要引入的资源和当前 JSP 页面是两个彼此独立执行实体,即被引入的资源必须能够被 Web 容器独立执行,最终分别对两个文件进行编译。   (2)include 指令引入的资源是在编
总结:jsp中的include
两种方法:&amp;lt;jsp:include /&amp;gt;与&amp;lt;%@ include %&amp;gt;方法一:&amp;lt;jsp:include page =&quot;&quot; /&amp;gt;执行时间:是在翻译阶段执行处理方式:当该动作被执行时,程序会将请求转发到被包含的页面,并将结果输出到浏览器中,然后返回包含页执行后面的代码。为服务器执行的是两个文件,jsp编译器会对两个文件进行编译包含方式:通常用来包含那些需要经常改动的...
jsp中的include的问题
jsp中的include可以跳.do吗,谁能给我个例子rn谢谢
创建索引中的INCLUDE
rnrn采用执行计划执行以下语句:rnrnselect SUM(交易积分) as monthsum, sum(case when DAY(交易时间)=DAY(GETDATE()) then 交易积分 else 0 end ) as daysumrn from 积分交易表 tm where tm.交易时间>=left(convert(varchar(20),getdate(),120),7)+'-01'rnrn--查询目的为是统计当月、当天的积分交易额rnrnrn执行计划工具建议创建索引:rnrnCREATE NONCLUSTERED INDEX [ddss]rnON [dbo].[积分交易表] ([交易时间])rnINCLUDE ([交易积分])rnrnrn如建立该索引后,系统在该表是建立了如下的索引数据吗?rnrn交易时间 交易积分rn2013-12-01 12:13:00 -100rn2013-12-01 12:13:01 -200rnrnrn如果真是按上面建立索引数据,由于交易时间绝大多是不相同的,那相当于数据几乎是重复存储一遍了?rnrnrnrnrnrnrn
在jsp中<%@ include %> 与的问题
我在一个页面a中用<%@ include%>包含一个带有javascript的页面b,在b中要使用a中的一个实例化对象rn的值用来控制分页,第一次传给b时正常显示,当再次传给b一个对象时,b页面显示的仍然是原对象的值,这可能是<%@ include%>在请求时已经编译过的缘故,但是我用时,传给它一个对象,根本显示不出来,不知是什么缘故,请高手指点,怎样在a页面中给中传值。
xml中include的用法
通过include 方便简介的引用外部资源
mfc中的include问题
我基于MFC创建了个工程,我想要在里面的某个函数里想调用TC里的math.h里的sqrt函数,我就在我那个工程相应的文件开始加入了include可是调用时却不行.请教:是不是math.h已经不属于mfc的系统头文件了呢?我想用那个函数,有什么解决方案么?或是MFC有没有与其功能差不多的类呢?怎么用?谢谢!
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数