参考文档:http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html里面怎么访问按钮“包括”布局
我有包括布局内的按钮,我怎么能访问按钮?我不知道这个ID!我如何定义OnClickListener ...?
请帮助...
参考文档:http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html里面怎么访问按钮“包括”布局
我有包括布局内的按钮,我怎么能访问按钮?我不知道这个ID!我如何定义OnClickListener ...?
请帮助...
你与该ID包括标签分配给包括布局的根视图。 首先使用findViewByid获取对该视图的引用。然后,您可以在该特定视图上调用findViewById以获取对布局中的View的引用。所以:
View myLayout = findViewById(R.id.cell1); // root View id from that link
View myView = myLayout.findViewById(R.id.someinnerview); // id of a view contained in the included file
为什么这不是正确的答案! – 2017-06-02 04:38:45
你知道包含的id。你可以得到这个完整的元素,然后从那里开始让它的一个孩子开始。
当多次包含相同的XML布局时,在解析窗口小部件ID方面存在一个常见的缺陷。在http://www.coboltforge.com/2012/05/tech-stuff-layout/的博客文章解释了这个问题以及如何解决这个问题!
其实include
标签包含您的根布局中的所有元素。所以你可以随时在你的活动上使用findViewById
访问它们。
假设您有一个alayout.xml
其中有一个include
布局。现在在您的活动A之一onCreate
内宣布setContentView(R.layout.alayout)
现在在您的包含版式中,您可能会有一个ID为myBtn
的按钮。您可以访问内部onCreate
中,你可以访问它,如果它是在主要布局以同样的方式:findViewById(R.id.myBtn)
我觉得你的意思是NavigationView。你可以通过这种方式访问内部布局:
NavigationView ngv= (NavigationView) findViewById(R.id.navigation_id);
View innerview = ngv.getHeaderView(0);
TextView user_view= (TextView)innerview.findViewById(R.id.nav_name); //any you need
user_view.setText(user);
为什么你不知道ID? – Cristian 2011-01-24 20:51:31