我创建了一个布局,其中包含了一个android布局:
<include
layout="@android:layout/simple_list_item_multiple_choice" />
一旦我的整个视图被夸大,我如何访问simple_list_item_multiple_choice
内的元素?我想有一个TextView和一个CheckBox,我应该可以使用但它们的ID是什么?
编辑: 我需要多次充气吗?
答案 0 :(得分:2)
你可以这样做:
CheckedTextView ctv = (CheckedTextView)findViewById(android.R.id.text1);
答案 1 :(得分:2)
我通过向@+id
语句提供<include/>
来完成此类任务。所以对于像你上面的例子我会写...
<include
android:id="@+id/listItemMultiChoiceWrapper"
layout="@android:layout/simple_list_item_multiple_choice" />
然后,您可以通过写入您的活动/片段级别(您设置包含<include/>
的视图的位置)来访问 text1 字段
final CheckedTextView ctv = (CheckedTextView) findViewById(id.listItemMultiChoiceWrapper).findViewById(id.text1);
如果这不起作用,那么请检查混淆情况的重复ID(Lint也应该选择这些)。
答案 2 :(得分:1)
这是Android SDK中simple_list_item_multiple_choice的代码:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceListItem"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingLeft="8dip"
android:paddingRight="8dip"
/>
我想你可以从这里处理它。