0

内部に TableRows と CheckBox と TextView を含む TableLayout があります。CheckBox をプッシュするとき、TextView をこの CheckBox に「関連付ける」ために、CheckBox が配置されている TableRow を知る必要があります。例えば:

テーブルレイアウト:

  • TableRow 1: X TextView1
  • TableRow 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
    }...

上記の 2 つの方法を使用すると、 を必要とせTextViewずに必要なすべてのことを実行できるはずTableLayoutです。CheckBoxesTextViews

于 2013-05-09T17:06:10.627 に答える