0
myViewをLinearLayoutにプログラムで追加しました。今私は位置によってチェックボックスをチェックしたいと思います。これは私のコードです:Androidスタジオでchackboxをプログラムで有効にすることはできません
<LinearLayout
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/recycler_view_item_height"
android:orientation="horizontal">
<TextView
android:id="@+id/polygon_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center|left"
android:layout_marginLeft="2dp"
android:maxLines="1"
android:singleLine="true"
android:textColor="#4d4d4d"
android:textSize="16dp"
android:textStyle="bold" />
<TextView
android:id="@+id/vin_code"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center|left"
android:layout_marginLeft="2dp"
android:maxLines="1"
android:singleLine="true"
android:textColor="#4d4d4d"
android:textSize="16dp"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:layout_marginLeft="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox"
android:layout_marginRight="10dp"
android:layout_gravity="center"
android:layout_centerInParent="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
</LinearLayout>
Javaコード:
final int childcount = linearLayout.getChildCount();
for (int i = 0; i < childcount; i++) {
View view = linearLayout.getChildAt(i);
if (i == selectedPosition) {
LinearLayout mmLinearLayout = (LinearLayout) view;
for (int j = 0; j < mmLinearLayout.getChildCount(); j++) {
View mview = mmLinearLayout.getChildAt(i);
if (mview instanceof CheckBox)
((CheckBox) mview).setChecked(true);
}
view.setBackgroundColor(activeColor);
}
}
私は私のコードをdebuged、私のinstanceofは、作業が、私は、プログラムのチェックボックスをチェックすることはできません。 この問題を解決するにはどうすればよいですか?おかげでみんな
チェックボックスは、線形レイアウトの子ではありません。それにIDを与え、代わりにfindViewByIdを使用してください。 – njzk2