리사이클 러뷰와 플로팅 액션 버튼이 포함 된 프래그먼트가 있습니다. recyclerview에서 각 행은 기본적으로 비활성화 됨으로 설정된 라디오 버튼을 포함합니다. 내 요구 사항은 떠 다니는 액션 버튼 클릭 이벤트에서 모든 행에 이러한 라디오 버튼을 활성화해야합니다. 어떤 해결책이 있습니까? 사전에리사이클 뷰 항목 활성화 또는 비활성화
감사합니다 ..
OK ... 나는 해결책을 얻었다.
여기 내 코드입니다.
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i <= adapter.getItemCount(); i++) {
View childVIew = recyclerView.getChildAt(i);
if (childVIew != null) {
RadioButton radioYes = childVIew.findViewById(R.id.radio_yes_my_health_info);
radioYes.setEnabled(true);
RadioButton radioNo = childVIew.findViewById(R.id.radio_no_my_health_info);
radioNo.setEnabled(true);
}
}
fab.setImageResource(R.drawable.ic_save_white_24dp);
recyclerView.getRecycledViewPool().setMaxRecycledViews(0, 0);
}
});
지금 FAB 버튼을 클릭에, 내 recyclerview 내부의 모든 라디오 버튼이 활성화됩니다 나는 모든 라디오 버튼의 상태를 변경하기 위해 클릭 할 수 있습니다. 하지만 여기서 나는 문제가있다. FAB 버튼을 클릭하면, recyclerview 내의 모든 라디오 버튼이 활성화되지만, recyclerview를 스크롤하면 모든 라디오 버튼이 비활성화되거나 다시 비활성화됩니다. 제게 이것에 대한 해결책을주십시오.
모든 행에서 라디오 버튼을 어떻게 만 선택할 수 있습니까? 실제로 리사이클 러에는 모든 행에 하나의 텍스트 상자와 두 개의 라디오 버튼이 있습니다. 모든 행에서이 두 개의 라디오 버튼 만 선택해야합니다. 귀하의 방법에서 우리는 findViewByPosition (i)을 사용하여 뷰를 얻고 있습니다. 이것은 텍스트 상자와 두 개의 라디오 버튼을 포함한 모든 뷰를 반환 할 수 있습니다. 두 개의 라디오 버튼 만 있으면이 버튼을 활성화해야합니다. 기본적으로이 버튼은 비활성화되어 있습니다. –
view.findViewById (R.id.radio_button)를 사용하여 선택할 라디오 버튼을 가져올 수 있습니다. –
내 어댑터에 20 개의 항목이 있습니다. 그러나 for 루프에서는 7 개의 항목 만 표시합니다. 7 후 null 포인터 예외가 나타납니다. 어떤 생각? –