Recyclerview
中有5行(项),它包含Checkbox
(cbox)和editText(noOfQst)。我可以使用onBindviewHolder
类中的以下代码设置当前持有者editText的文本属性。
holder.noOfQst.setText(String.valueOf(value));
但我需要的是将所有editText的值设置在一起,例如下面的代码
firstrow.noOfQst.setText(String.valueOf(value));
secondrow.noOfQst.setText(String.valueOf(value));
thirdrow.noOfQst.setText(String.valueOf(value));
fourthrow.noOfQst.setText(String.valueOf(value));
fifthrow.noOfQst.setText(String.valueOf(value));
我这样做是因为当用户更改复选框的状态时需要设置值。以下是我的一段代码供您理解。
holder.cbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//set your object's last status
tblchapter.setSelected(isChecked);
tblchapter.setVisibled(isChecked);
//if checkbox checked display EditText(No of qstns), else hide it.
if (holder.cbox.isChecked()) {
checkedCount+=1;
holder.noOfQst.setVisibility(View.VISIBLE);
holder.noOfQst.requestFocus();
if(checkedCount>0)
{
int value = 40/checkedCount;
holder.noOfQst.setText(String.valueOf(value));
}
}
}
}
else {
checkedCount-=1;
holder.noOfQst.setVisibility(View.INVISIBLE);
holder.noOfQst.setText(""); //remove entered value when uncheck
}
}
});
答案 0 :(得分:0)
您可以RecyclerView
使用RecyclerView.getChildAt()
的孩子。它将为您提供当前在移动设备中可见的所有孩子。
for(i = 0; i < recyclerView.getChildCount(); i++)
{
final View child = recyclerView.getChildAt(i);
// do something with the View. like setting the text to TextView
}