2014-02-01 1 views
0

создать несколько CheckBoxes программно так:Android Eclipse, findViewByID с программными CheckBox

public int cb_id = 1000; 

    public void create_cb() 
    { 

      CheckBox cb1 = new CheckBox(this); 
      cb1.setText("My CheckBox"); 
      cb1.setId(cb_id); 

      LinearLayout ll_checkbox = (LinearLayout) findViewById(R.id.ll_checkbox); 

      ll_checkbox.addView(cb1); 

    } 

Эта работа хорошо для меня, но я не могу найти CheckBox с ID ...

public void find_cb() 
    { 

      CheckBox cb1 = (CheckBox) findViewById(cb_id); 

      String content = cb1.getText().toString(); 

    } 

Это не работает, приложение закрывается.

ответ

1

использовать следующий код:

public void find_cb() 
{ 
    LinearLayout ll_checkbox = (LinearLayout) findViewById(R.id.ll_checkbox); 
    CheckBox cb1 = (CheckBox) ll_checkbox.findViewById(cb_id); 
    String content = cb1.getText().toString(); 
} 
+0

plz предоставить правильное руководство для ответа на эти изменения. –

+0

Я не уверен в моем ответе @DigveshPatel, я просто жду, увидев, что, возможно, полезен для OP, я собираюсь удалить это, потому что я не уверен, что эта работа должным образом, –

+1

дорогой ваши ответы ri8, но нужно некоторое уточнение поэтому он/она получает идею за это +1 за ваши ответы –

0

Попробуйте это ..

Использование

CheckBox cb1; 

в Global как public int cb_id = 1000; и внутри create_cb() метод просто использовать cb1 = new CheckBox(this); и find_cb() метод, как показано ниже

public void find_cb() 
{ 
    String content = cb1.getText().toString(); 
} 
+0

Проблема в том, что количество CheckBox всегда зависит от пользователя. –