-2
私はチェックボックスのリスト項目を持つrecyclerviewを持っています。今、私はrecyclerviewの最後までスクロールし、ckeckboxをクリックします。チェックボックスをクリックすると、recyclerviewを取得し、ジャークを取得し、リストをリストの先頭に移動します。recyclerviewチェックボックスをクリックしている間にジャークを取得する
ここでは、あなたのレビューのためのアダプタコードを掲載します。
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
holder.mChkEquipments.setOnCheckedChangeListener(null);
holder.txt_equiment_number.setVisibility(View.INVISIBLE);
holder.divider.setVisibility(View.INVISIBLE);
if(position==0){
holder.txt_equiment_number.setVisibility(View.VISIBLE);
holder.text_hookEqmnt.setText(mArrayList.get(position).getInspectionName());
holder.divider.setVisibility(View.VISIBLE);
holder.txt_equiment_number.setText(mEquipmentNumber);
}else{
holder.text_hookEqmnt.setText(mArrayList.get(position).getInspectionName());
}
holder.text_hookEqmnt.setText(mArrayList.get(position).getInspectionName());
holder.txt_equiment_number.setText(mEquipmentNumber);
holder.mChkEquipments.setChecked(mArrayList.get(position).getInspectionStatus());
if(mArrayList.get(position).getInspectionStatus()){
holder.mChkEquipments.setButtonDrawable(R.drawable.route_check);
}else{
holder.mChkEquipments.setButtonDrawable(R.drawable.route_close);
}
holder.mChkEquipments.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
/*holder.mChkEquipments.setChecked(isChecked);
mArrayList.get(position).setInspectionStatus(isChecked);
updateStatus(mArrayList.get(position).getId(),isChecked);
if(isChecked){
holder.mChkEquipments.setButtonDrawable(R.drawable.route_check);
}else{
holder.mChkEquipments.setButtonDrawable(R.drawable.route_close);
}*/
}
});
if (position % 2 != 0) {
holder.mVIew.setBackgroundResource(R.color.list_alternative_bg);
} else {
holder.mVIew.setBackgroundResource(R.color.white);
}
}
また、OnClickListenerも試しました。しかし、私が直面している同じ問題。
holder.mChkEquipments.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final boolean isChecked = holder.mChkEquipments.isChecked();
holder.mChkEquipments.setChecked(isChecked);
mArrayList.get(position).setInspectionStatus(isChecked);
updateStatus(mArrayList.get(position).getId(),isChecked);
if(isChecked){
holder.mChkEquipments.setButtonDrawable(R.drawable.route_check);
}else{
holder.mChkEquipments.setButtonDrawable(R.drawable.route_close);
}
}
});
私の問題を解決するのを手伝ってください。
私はダウン投票の理由は何ですか? – Vijay
あなたのアプリを "デジャンクション"する方法を学ぶために、Google io 2017 UIセッションを見てください...私は 'updateStatus'にベットします – Selvin
確かに。私がチェックします。 – Vijay