I have a ListView with some CheckBoxes. When I click on each row of the ListView I want to save the CheckBox's text in a String.
I set the ListView row to not focusable so that the user can click on the CheckBox itself. The CheckBox cannot be checked or unchecked by the user himself, but instead, when the user clicks on it, he is lead to another activity where he needs to input data. I am checking whether the user is inputing data or not by returning a boolean value.
If the value is true, I need to set the checkbox to checked. In order to do so I need to compare the text of the CheckBox to another String value before actually checking it.
In other words the checked state of each CheckBox is determined by whether or not the user entered data in the previous activity.
What I cannot do is get the CheckBox text from the clicked/ touched/ selected CheckBox
Why are the below code snippets not working? clickedError is empty after running this code.
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v.findViewById(R.id.chkSelected);
clickedError = cb.getText().toString() ;
AND
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v;
clickedError = cb.getText().toString() ;
}
Have already been tried
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
......
holder.chk.setOnClickListener(new MyClickListener(holder.chk));
......
}
private class MyClickListener implements OnClickListener
{
CheckBox checkbox = null;
public MyClickListener(CheckBox cb)
{
checkbox = cb;
}
@Override
public void onClick(final View v)
{
// CheckBox cb = new CheckBox(mContext);
// cb = (CheckBox) v;
// clickedError = cb.getText().toString() ;
CheckBox cb = (CheckBox) v.findViewById(R.id.chkSelected);
clickedError = cb.getText().toString() ;
Thanks.