如何在“include”布局中访问Button

请参阅文档: http : //android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html

包含的布局中有一个button,我怎样才能访问button? 我不知道这个ID! 我如何定义OnClickListener …?

请帮忙…

Solutions Collecting From Web of "如何在“include”布局中访问Button"

包含标签的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 

所有你需要的是父视图的ID:

在这里输入图像说明

在这个例子中, LinearLayout是我想从包含的View中获得的TextView的父TextView

我现在可以这样做:

  View view = findViewById(R.id.include_title_layout); TextView titleTV = (TextView) view.findViewById(R.id.newsTitleTextView); titleTV.setText("Whatever"); 

你知道包含的ID。 你可以得到这个完整的元素,然后从那里得到一个孩子。

其实include标签包括你的根布局的所有元素。 所以你可以随时在你的Activity上使用findViewById来访问它们。

假设你有一个include布局的alayout.xml 。 现在在你的活动A之一,在onCreate里面你声明了setContentView(R.layout.alayout)现在在你的include布局中,你可能会有一个id为myBtn的button。 你可以像使用主布局一样访问onCreate中的内容: findViewById(R.id.myBtn)