0

我有一个 TableLayout,里面有 TableRows 和 CheckBox 和 TextView。当我按下 CheckBox 时,我需要知道在 TableRow 中放置 CheckBox 以使 TextView“关联”到此 CheckBox。例如:

表格布局:

  • 表行 1:X TextView1
  • 表行 2:X TextView2
  • ...

我正在尝试这样的事情:

cb.setOnClickListener(new View.OnClickListener() {                                              
    @Override
    public void onClick(View v) {
    if (cb.isChecked())
    {
        int id_cb = cb.getId();
        boolean encontrado = false;
        for (int i = 0; i < tabla_tareas.getChildCount() && !encontrado; i++)
        {
            TableRow aux_tr = (TableRow) tabla_tareas.getChildAt(i);
            CheckBox aux_cb = (CheckBox) aux_tr.getChildAt(0);
            if (id_cb == aux_cb.getId())
                   encontrado = true;
        }...

但它不起作用。

4

1 回答 1

1

利用 Elior 所说的,您为什么不使用以下方法来实现您想要的:

cb.setOnClickListener(new View.OnClickListener() {                                              
@Override
public void onClick(View v) {
if (cb.isChecked())
{
    cb.getText().toString(); //This will retrieve the text associated with the Checkbox
    cb.setText("Your new string here"); //This will set the text associated with the CheckBox
    }...

使用上述两种方法,您应该能够在不需要 的情况下完成所需的一切TextView,并且可能不需要 ,TableLayout因为我假设您正在使用它来对齐CheckBoxesTextViews

于 2013-05-09T17:06:10.627 回答