如何访问在android中以编程方式创建的对象

时间:2014-07-07 18:15:26

标签: android android-checkbox

我做了什么 ::

我以编程方式创建了三个复选框,并为其分配了id' s和params

我想做什么 ::

  • 如何将第二个复选框文本设置为newvalue,请说"newcheckbox"
  • 我无法理解这个程序化的工作原理

MainActivity.java

public class MainActivity extends Activity {

        CheckBox chkBox;
        LinearLayout CheckBoxContainer;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            CheckBoxContainer=(LinearLayout) findViewById(R.id.Container);


            for (int i=0; i<3; i++){
                chkBox= new CheckBox(this);
                chkBox.setId(i);
                chkBox.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
                chkBox.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);

                chkBox.setText("checkbox");
                CheckBoxContainer.addView(chkBox);
            }



        }
    }

2 个答案:

答案 0 :(得分:0)

您可以在此之后获取并编辑该复选框:

chkBox = (CheckBox) CheckBoxContainer.findViewById(1);
chkBox.setText("hello");

1是您分配给第二个复选框的ID。

答案 1 :(得分:0)

像这样使用

   String[] arr_str = {"checkbox 1","checkbox 2","checkbox 3"};

   for (int i=0; i<3; i++){
         chkBox= new CheckBox(this);
         chkBox.setId(i);
         chkBox.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
         chkBox.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);

         chkBox.setText(arr_str[i]);
         CheckBoxContainer.addView(chkBox);

  }