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は、作業が、私は、プログラムのチェックボックスをチェックすることはできません。 この問題を解決するにはどうすればよいですか?おかげでみんな

+1

チェックボックスは、線形レイアウトの子ではありません。それにIDを与え、代わりにfindViewByIdを使用してください。 – njzk2

答えて

1

あなたがチェックボックスをチェックする代わりに

((CheckBox) view).setVisibility(View.GONE); 

((CheckBox) view).setChecked(true); 

を使用する必要があります。

+0

私のソースを更新しましたが、まだ動作しません – BekaKK

関連する問題