我有ListView
一些CheckBoxes
。当我单击 的每一行时,ListView
我想将CheckBox
的文本保存在String
.
我将该ListView
行设置为不可聚焦,以便用户可以单击其CheckBox
本身。CheckBox
用户自己不能选中或取消选中,而是当用户点击它时,他会被引导到另一个需要输入数据的活动。我正在通过返回一个布尔值来检查用户是否正在输入数据。
如果值为 true,我需要将复选框设置为选中。为此,我需要CheckBox
在实际检查之前将 的文本与另一个字符串值进行比较。
换句话说,每个的检查状态CheckBox
取决于用户是否在之前的活动中输入了数据。
我不能做的是从单击/触摸/选择中获取 CheckBox 文本CheckBox
为什么下面的代码片段不起作用?clickedError
运行此代码后为空。
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v.findViewById(R.id.chkSelected);
clickedError = cb.getText().toString() ;
和
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v;
clickedError = cb.getText().toString() ;
}
已经试过了
@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() ;
谢谢。